xref: /pciutils/maint/release (revision 8372cd49)
1ab12277eSMartin Mares#!/usr/bin/perl
2ab12277eSMartin Mares# A simple script for making releases of the pciutils
358b5c2e1SMartin Mares# (c) 2003--2012 Martin Mares <[email protected]>
4ab12277eSMartin Mares
5ab12277eSMartin Maresuse strict;
6ab12277eSMartin Maresuse warnings;
7ffdb5c28SMartin Maresrequire "./maint/release.pm";
8ab12277eSMartin Mares
91865e2ddSMartin Mares# Check API version
101865e2ddSMartin Maresmy $apiver = "???";
111865e2ddSMartin Maresopen X, "lib/pci.h" or die;
121865e2ddSMartin Mareswhile (<X>) {
131865e2ddSMartin Mares	/^#define PCI_LIB_VERSION 0x(.{6})$/ and $apiver = $1;
141865e2ddSMartin Mares}
151865e2ddSMartin Maresprint "API version is $apiver ... <confirm> "; <STDIN>;
161865e2ddSMartin Mares
170e5564d9SMartin Mares#print "Updating public GIT tree\n";
180e5564d9SMartin Mares#`git push --tags public`; die if $?;
199563dd6aSMartin Mares
20ab12277eSMartin Maresmy $r = new UCW::Release("pciutils");
21ab12277eSMartin Maresmy $ver = $r->GetVersionFromFile("Makefile", "VERSION=(.*)");
22ab12277eSMartin Mares$r->GetVersionsFromChangelog("ChangeLog", "Released as (.*)\.");
23aabb0a92SMartin Marespush @{$r->{"rules"}}, '^win32/config.h' => 's';
24ab12277eSMartin Maresif ($ver =~ /-/) {
25ab12277eSMartin Mares	$r->{"ALPHADIR"} = "alpha/";
26ab12277eSMartin Mares	$r->{"conditions"}->{"ALPHA_VERSION"} = 1;
27ab12277eSMartin Mares} else {
28ab12277eSMartin Mares	$r->{"ALPHADIR"} = "";
29ab12277eSMartin Mares	$r->{"conditions"}->{"ALPHA_VERSION"} = -1;
30ab12277eSMartin Mares}
31ab12277eSMartin Marespush @{$r->{"uploads"}}, {
32310a33cfSMartin Mares	"url" => "scp://jabberwock.ucw.cz/home/ftp/pub/mj/linux/pci/" . $r->{"ALPHADIR"}
331d3fdfc4SMartin Mares##	},{
341d3fdfc4SMartin Mares##	"url" => "scp://master.kernel.org/pub/software/utils/pciutils/" . $r->{"ALPHADIR"}
35ab12277eSMartin Mares	};
36ab12277eSMartin Mares$r->ParseOptions;
37ab12277eSMartin Mares$r->InitDist("maint/dist");
38ab12277eSMartin Maresmy $reldir = $r->GenPackage;
39ab12277eSMartin Mares$r->GenFile("README");
40ab12277eSMartin Mares$r->GenFile("pciutils.lsm");
41ab12277eSMartin Mares$r->Dispatch;
42ab12277eSMartin Maresif ($r->{"do_upload"}) {
43ab12277eSMartin Mares	print "Uploading pci.ids to Jabberwock\n";
44312a647cSMartin Mares	`scp -C pci.ids pciids\@jabberwock.ucw.cz:05-pciutils.new`; die if $?;
454ba798daSMartin Mares	`ssh pciids\@jabberwock.ucw.cz mv 05-pciutils.new origs/05-pciutils`; die if $?;
46ab12277eSMartin Mares}
470e5564d9SMartin Mares
480e5564d9SMartin Mares# Hacks for kernel.org
490e5564d9SMartin Maresprint "Preparing kernel.org package\n";
500e5564d9SMartin Maresmy $dd = $r->{"DISTDIR"};
510e5564d9SMartin Maresmy $pkg = $r->{"PKG"};
520e5564d9SMartin Mares`gzip -d <$dd/$pkg.tar.gz >$dd/$pkg.tar`; die if $?;
530e5564d9SMartin Maressystem "gpg", "--armor", "--detach-sig", "-o", "$dd/$pkg.tar.sig", "$dd/$pkg.tar"; die if $?;
540e5564d9SMartin Maresif ($r->{"do_upload"}) {
550e5564d9SMartin Mares	print "Uploading to kernel.org\n";
560e5564d9SMartin Mares	print "<confirm> "; <STDIN>;
570e5564d9SMartin Mares	system '/home/mj/tree/kup/kup', 'put', "$dd/$pkg.tar", "$dd/$pkg.tar.sig", "/pub/software/utils/pciutils/$pkg.tar.gz"; die if $?;
580e5564d9SMartin Mares}
59406f4f49SMartin Mares
60406f4f49SMartin Mares# GitHub releases
61406f4f49SMartin Maresprint "Creating a GitHub release\n";
62406f4f49SMartin Maresmy $ghrel = "v$ver";
63406f4f49SMartin Mares`gh release create $ghrel --verify-tag --latest --notes "Automatically generated. Please see the ChangeLog for details."`;
64406f4f49SMartin Maresdie if $?;
65*8372cd49SMartin Mares`gh release upload $ghrel $dd/$pkg.tar.gz $dd/$pkg.tar.gz.sign`;
66406f4f49SMartin Maresdie if $?
67