| #!/usr/bin/perl |
| # A simple script for making releases of the pciutils |
| # (c) 2003--2012 Martin Mares <mj@ucw.cz> |
| |
| use strict; |
| use warnings; |
| require "./maint/release.pm"; |
| |
| # Check API version |
| my $apiver = "???"; |
| open X, "lib/pci.h" or die; |
| while (<X>) { |
| /^#define PCI_LIB_VERSION 0x(.{6})$/ and $apiver = $1; |
| } |
| print "API version is $apiver ... <confirm> "; <STDIN>; |
| |
| #print "Updating public GIT tree\n"; |
| #`git push --tags public`; die if $?; |
| |
| my $r = new UCW::Release("pciutils"); |
| my $ver = $r->GetVersionFromFile("Makefile", "VERSION=(.*)"); |
| $r->GetVersionsFromChangelog("ChangeLog", "Released as (.*)\."); |
| push @{$r->{"rules"}}, '^win32/config.h' => 's'; |
| if ($ver =~ /-/) { |
| $r->{"ALPHADIR"} = "alpha/"; |
| $r->{"conditions"}->{"ALPHA_VERSION"} = 1; |
| } else { |
| $r->{"ALPHADIR"} = ""; |
| $r->{"conditions"}->{"ALPHA_VERSION"} = -1; |
| } |
| push @{$r->{"uploads"}}, { |
| "url" => "scp://jabberwock.ucw.cz/home/ftp/pub/mj/linux/pci/" . $r->{"ALPHADIR"} |
| ## },{ |
| ## "url" => "scp://master.kernel.org/pub/software/utils/pciutils/" . $r->{"ALPHADIR"} |
| }; |
| $r->ParseOptions; |
| $r->InitDist("maint/dist"); |
| my $reldir = $r->GenPackage; |
| $r->GenFile("README"); |
| $r->GenFile("pciutils.lsm"); |
| $r->Dispatch; |
| if ($r->{"do_upload"}) { |
| print "Uploading pci.ids to Jabberwock\n"; |
| `scp -C pci.ids pciids\@jabberwock.ucw.cz:05-pciutils.new`; die if $?; |
| `ssh pciids\@jabberwock.ucw.cz mv 05-pciutils.new origs/05-pciutils`; die if $?; |
| } |
| |
| # Hacks for kernel.org |
| print "Preparing kernel.org package\n"; |
| my $dd = $r->{"DISTDIR"}; |
| my $pkg = $r->{"PKG"}; |
| `gzip -d <$dd/$pkg.tar.gz >$dd/$pkg.tar`; die if $?; |
| system "gpg", "--armor", "--detach-sig", "-o", "$dd/$pkg.tar.sig", "$dd/$pkg.tar"; die if $?; |
| if ($r->{"do_upload"}) { |
| print "Uploading to kernel.org\n"; |
| print "<confirm> "; <STDIN>; |
| system '/home/mj/tree/kup/kup', 'put', "$dd/$pkg.tar", "$dd/$pkg.tar.sig", "/pub/software/utils/pciutils/$pkg.tar.gz"; die if $?; |
| } |