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