xref: /aosp_15_r20/external/pciutils/maint/release (revision c2e0c6b56a71da9abe8df5c8348fb3eb5c2c9251)
1#!/usr/bin/perl
2# A simple script for making releases of the pciutils
3# (c) 2003--2012 Martin Mares <[email protected]>
4
5use strict;
6use warnings;
7require "./maint/release.pm";
8
9# Check API version
10my $apiver = "???";
11open X, "lib/pci.h" or die;
12while (<X>) {
13	/^#define PCI_LIB_VERSION 0x(.{6})$/ and $apiver = $1;
14}
15print "API version is $apiver ... <confirm> "; <STDIN>;
16
17#print "Updating public GIT tree\n";
18#`git push --tags public`; die if $?;
19
20my $r = new UCW::Release("pciutils");
21my $ver = $r->GetVersionFromFile("Makefile", "VERSION=(.*)");
22$r->GetVersionsFromChangelog("ChangeLog", "Released as (.*)\.");
23push @{$r->{"rules"}}, '^win32/config.h' => 's';
24if ($ver =~ /-/) {
25	$r->{"ALPHADIR"} = "alpha/";
26	$r->{"conditions"}->{"ALPHA_VERSION"} = 1;
27} else {
28	$r->{"ALPHADIR"} = "";
29	$r->{"conditions"}->{"ALPHA_VERSION"} = -1;
30}
31push @{$r->{"uploads"}}, {
32	"url" => "scp://jabberwock.ucw.cz/home/ftp/pub/mj/linux/pci/" . $r->{"ALPHADIR"}
33##	},{
34##	"url" => "scp://master.kernel.org/pub/software/utils/pciutils/" . $r->{"ALPHADIR"}
35	};
36$r->ParseOptions;
37$r->InitDist("maint/dist");
38my $reldir = $r->GenPackage;
39$r->GenFile("README");
40$r->GenFile("pciutils.lsm");
41$r->Dispatch;
42if ($r->{"do_upload"}) {
43	print "Uploading pci.ids to Jabberwock\n";
44	`scp -C pci.ids pciids\@jabberwock.ucw.cz:05-pciutils.new`; die if $?;
45	`ssh pciids\@jabberwock.ucw.cz mv 05-pciutils.new origs/05-pciutils`; die if $?;
46}
47
48# Hacks for kernel.org
49print "Preparing kernel.org package\n";
50my $dd = $r->{"DISTDIR"};
51my $pkg = $r->{"PKG"};
52`gzip -d <$dd/$pkg.tar.gz >$dd/$pkg.tar`; die if $?;
53system "gpg", "--armor", "--detach-sig", "-o", "$dd/$pkg.tar.sig", "$dd/$pkg.tar"; die if $?;
54if ($r->{"do_upload"}) {
55	print "Uploading to kernel.org\n";
56	print "<confirm> "; <STDIN>;
57	system '/home/mj/tree/kup/kup', 'put', "$dd/$pkg.tar", "$dd/$pkg.tar.sig", "/pub/software/utils/pciutils/$pkg.tar.gz"; die if $?;
58}
59
60# GitHub releases
61print "Creating a GitHub release\n";
62my $ghrel = "v$ver";
63`gh release create $ghrel --verify-tag --latest --notes "Automatically generated. Please see the ChangeLog for details."`;
64die if $?;
65`gh release upload $ghrel $dd/$pkg.tar.gz $dd/pkg.tar.gz.sign";
66die if $?
67