From e42e4010d88ba0767e71cced0c088b85e0cd76e6 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Thu, 8 Apr 2010 16:28:20 -0700 Subject: [PATCH] All release to be specified in debian package --- makedebian.pl | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/makedebian.pl b/makedebian.pl index 1ce7dc81e..8f91aec34 100755 --- a/makedebian.pl +++ b/makedebian.pl @@ -43,12 +43,16 @@ $conffiles_file = "$debian_dir/conffiles"; -r "/etc/debian_version" || die "makedebian.pl must be run on Debian"; chop($webmin_dir = `pwd`); -@ARGV == 1 || die "usage: makedebian.pl [--webmail] "; +@ARGV == 1 || @ARGV == 2 || + die "usage: makedebian.pl [--webmail] [release]"; $ver = $ARGV[0]; +if ($ARGV[1]) { + $rel = "-".$ARGV[1]; + } -r "tarballs/$product-$ver.tar.gz" || die "tarballs/$product-$ver.tar.gz not found"; # Create the base directories -print "Creating Debian package of ",ucfirst($product)," ",$ver," ...\n"; +print "Creating Debian package of ",ucfirst($product)," ",$ver,$rel," ...\n"; system("rm -rf $tmp_dir"); mkdir($tmp_dir, 0755); chmod(0755, $tmp_dir); @@ -92,7 +96,7 @@ $size = int(`du -sk $tmp_dir`); open(CONTROL, ">$control_file"); print CONTROL <$webmin_dir/deb/${product}_${ver}.diff"); -$diffmd5 = `md5sum deb/${product}_${ver}.diff`; +system("cd $tmp_dir && diff -r -N -u $product-$ver-orig $product-$ver >$webmin_dir/deb/${product}_${ver}${rel}.diff"); +$diffmd5 = `md5sum deb/${product}_${ver}${rel}.diff`; $diffmd5 =~ s/\s+.*\n//g; -@diffst = stat("deb/${product}_${ver}.diff"); +@diffst = stat("deb/${product}_${ver}${rel}.diff"); # Create the .dsc file -open(DSC, ">deb/${product}_$ver.plain"); +open(DSC, ">deb/${product}_$ver$rel.plain"); print DSC < Architecture: all @@ -411,22 +415,22 @@ Files: EOF close(DSC); -unlink("deb/${product}_$ver.dsc"); -system("gpg --output deb/${product}_$ver.dsc --clearsign deb/${product}_$ver.plain"); -unlink("deb/${product}_$ver.plain"); -print "Wrote source deb/${product}_$ver.dsc\n"; +unlink("deb/${product}_$ver$rel.dsc"); +system("gpg --output deb/${product}_$ver$rel.dsc --clearsign deb/${product}_$ver$rel.plain"); +unlink("deb/${product}_$ver$rel.plain"); +print "Wrote source deb/${product}_$ver$rel.dsc\n"; if (-d "/usr/local/webadmin/deb/repository") { # Add to our repository chdir("/usr/local/webadmin/deb/repository"); system("reprepro -Vb . remove sarge $product"); - system("reprepro -Vb . includedeb sarge ../${product}_${ver}_all.deb"); + system("reprepro -Vb . includedeb sarge ../${product}_${ver}${rel}_all.deb"); chdir("/usr/local/webadmin"); } # Create PGP signature -unlink("sigs/${product}_${ver}_all.deb-sig.asc"); -system("gpg --armor --output sigs/${product}_${ver}_all.deb-sig.asc --default-key jcameron\@webmin.com --detach-sig deb/${product}_${ver}_all.deb"); +unlink("sigs/${product}_${ver}${rel}_all.deb-sig.asc"); +system("gpg --armor --output sigs/${product}_${ver}${rel}_all.deb-sig.asc --default-key jcameron\@webmin.com --detach-sig deb/${product}_${ver}${rel}_all.deb"); # read_file(file, &assoc, [&order], [lowercase]) # Fill an associative array with name=value pairs from a file