Package: devscripts
Version: 2.10.35lenny3
Severity: important
Tags: patch

The man page for debdiff(1) says:

EXIT VALUES
       Normally the exit value will be 0 if no differences are reported
       and 1 if any are reported.

debdiff(1) exhibits this behavior with binary packages, but not source
packages. The attached diff fixes this.

[...@coral.lab.isis:pts/0 ~> debdiff postfix_2.5.5-1.1.dsc 
postfix_2.3.8-2local2.dsc
dpkg-source: warning: extracting unsigned source package 
(postfix_2.3.8-2local2.dsc)
diff -Nru postfix-2.5.5/.indent.pro postfix-2.3.8/.indent.pro
--- postfix-2.5.5/.indent.pro   2008-01-14 15:34:27.000000000 +0000
+++ postfix-2.3.8/.indent.pro   2009-04-27 13:26:07.000000000 +0000
@@ -46,7 +46,6 @@
 -TCRYPTO_EX_DATA
 -TCTABLE
 -TCTABLE_ENTRY
--TDELIVERED_HDR_INFO
 -TDELIVER_ATTR
 -TDELIVER_REQUEST
[...]
[...@coral.lab.isis:pts/0 ~> echo $?
0
[...@coral.lab.isis:pts/1 ~> debdiff slapd_2.4.15-1local1_amd64.deb 
slapd_2.4.15-1local2_amd64.deb
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
[...]
[...@coral.lab.isis:pts/1 ~> echo $?
1

-- Package-specific info:

--- /etc/devscripts.conf ---

--- ~/.devscripts ---
Not present

-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages devscripts depends on:
ii  dpkg-dev                      1.14.25    Debian package development tools
ii  libc6                         2.7-18     GNU C Library: Shared libraries
ii  perl                          5.10.0-19  Larry Wall's Practical Extraction 

Versions of packages devscripts recommends:
ii  at                 3.1.10.2              Delayed job execution and batch pr
ii  bsd-mailx [mailx]  8.1.2-0.20071201cvs-3 A simple mail user agent
ii  cvs                1:1.12.13-12          Concurrent Versions System
ii  dctrl-tools        2.13.1                Command-line tools to process Debi
ii  debian-keyring     2009.01.18            GnuPG (and obsolete PGP) keys of D
ii  debian-maintainers 1.52                  GPG keys of Debian maintainers
ii  dput               0.9.2.32              Debian package upload tool
ii  equivs             2.0.7-0.1             Circumvent Debian package dependen
ii  fakeroot           1.11                  Gives a fake root environment
ii  git-core           1:1.5.6.5-3+lenny1    fast, scalable, distributed revisi
ii  gnupg              1.4.9-3               GNU privacy guard - a free PGP rep
ii  libauthen-sasl-per 2.12-1                Authen::SASL - SASL Authentication
ii  libcrypt-ssleay-pe 0.57-1+b1             Support for https protocol in LWP
ii  libparse-debcontro 2.005-2               Easy OO parsing of Debian control-
ii  libsoap-lite-perl  0.710.08-1            Client and server side SOAP implem
ii  libterm-size-perl  0.2-4+b1              Perl extension for retrieving term
ii  libtimedate-perl   1.1600-9              Time and date functions for Perl
ii  liburi-perl        1.35.dfsg.1-1         Manipulates and accesses URI strin
ii  libwww-perl        5.813-1               WWW client/server library for Perl
ii  libyaml-syck-perl  1.05-1                Fast, lightweight YAML loader and 
ii  lintian            1.24.2.1              Debian package checker
ii  lsb-release        3.2-20                Linux Standard Base version report
ii  lynx-cur [www-brow 2.8.7dev9-2.1         Text-mode WWW Browser with NLS sup
ii  mailx              1:20071201-3          Transitional package for mailx ren
ii  man-db             2.5.2-4               on-line manual pager
ii  openssh-client [ss 1:5.1p1-5             secure shell client, an rlogin/rsh
ii  patch              2.5.9-5               Apply a diff file to an original
ii  patchutils         0.2.31-4              Utilities to work with patches
ii  strace             4.5.17+cvs080723-2    A system call tracer
ii  subversion         1.5.1dfsg1-2          Advanced version control system
ii  unzip              5.52-12               De-archiver for .zip files
ii  w3m [www-browser]  0.5.2-2+b1            WWW browsable pager with excellent
ii  wdiff              0.5-18                Compares two files word by word
ii  wget               1.11.4-2              retrieves files from the web

Versions of packages devscripts suggests:
ii  build-essential               11.4       Informational list of build-essent
pn  cvs-buildpackage              <none>     (no description available)
pn  devscripts-el                 <none>     (no description available)
pn  gnuplot                       <none>     (no description available)
pn  libfile-desktopentry-perl     <none>     (no description available)
pn  libnet-smtp-ssl-perl          <none>     (no description available)
ii  mutt                          1.5.18-6   text-based mailreader supporting M
pn  svn-buildpackage              <none>     (no description available)

-- no debconf information


-- 
John Morrissey          _o            /\         ----  __o
j...@horde.net        _-< \_          /  \       ----  <  \,
www.horde.net/    __(_)/_(_)________/    \_______(_) /_(_)__
--- /usr/bin/debdiff	2009-02-11 08:41:58.000000000 +0000
+++ debdiff	2009-04-27 17:28:29.097401000 +0000
@@ -528,6 +528,14 @@
 	# Execute diff and remove the common prefixes $dir1/$dir2, so the patch can be used with -p1,
 	# as if when interdiff would have been used:
 	system(join(" ", @command)) || fatal "Failed to execute @command!";
+	if ($? & 127) {
+	    fatal sprintf("@command exited due to signal %d.", $? & 127);
+	}
+	# We include == 2, since diff(1) returns "failure" when
+	# encountering binary files that differ.
+	elsif ($? >> 8 == 1 || $? >> 8 == 2) {
+	    $exit_status = 1;
+	}
 
 	if ($have_diffstat and $show_diffstat) {
 	    print "diffstat for $sdir1 $sdir2\n\n";
@@ -547,7 +555,7 @@
 	close DIFF;
     }
 
-    exit 0;
+    exit $exit_status;
 }
 else {
     fatal "Internal error: \$type = $type unrecognised";

Reply via email to