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