Package: dpkg-dev
Version: 1.10.16
Tags: patch

If something goes wrong with the signature process for the .dsc file,
then dpkg-buildpackage aborts at that point, meaning that the only
obvious way to proceed is to rebuild the entire package.  (Of course,
one could run dpkg-genchanges etc. manually, but that's possibly not
such a great idea.)  The following patch means that a failed signature
does not stop the build, but causes it to exit with an error at the
end anyway.  After this, debsign can be used to sign the .dsc/.changes
files.

--- /usr/bin/dpkg-buildpackage  2003-10-25 21:51:27.000000000 +0100
+++ dpkg-buildpackage   2003-10-28 13:27:25.000000000 +0000
@@ -166,8 +166,14 @@
                $signcommand -u "${signkey:-$maintainer}" +clearsig=on -fast 
<"../$1" \
                        >"../$1.asc"
        fi
+       status=$?
+       if [ $status -eq 0 ]; then
+               mv -- "../$1.asc" "../$1"
+       else
+               /bin/rm -f "../$1.asc"
+       fi
        echo
-       mv -- "../$1.asc" "../$1"
+       return $status
 }
 
 withecho () {
@@ -205,8 +211,12 @@
     read dummy_stuff
 fi
 
+signerrors=
 if [ x$binaryonly = x ]; then
-        $signsource "$pv.dsc"
+       if ! $signsource "$pv.dsc"; then
+               signerrors="(WARNING: Failed to sign .dsc and .changes file)"
+               signchanges=:
+       fi
 fi
 chg=../"$pva.changes"
 withecho dpkg-genchanges "$@" >"$chg"
@@ -242,10 +252,16 @@
        fi
 fi
 
-$signchanges "$pva.changes"
+if ! $signchanges "$pva.changes"; then
+       signerrors="(WARNING: Failed to sign .changes file)"
+fi
 
 if $cleansource; then
        withecho $rootcommand debian/rules clean
 fi
 
 echo "dpkg-buildpackage: $srcmsg"
+if [ -n "$signerrors" ]; then
+       echo >&2 $signerrors
+       exit 1
+fi


   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

        Julian Gilbey, website: http://www.polya.uklinux.net/
   Debian GNU/Linux Developer, see: http://people.debian.org/~jdg/
     Visit http://www.thehungersite.com/ to help feed the hungry


Reply via email to