Control: retitle -1 debdiff: fall back on non-interdiff method when interdiff 
fails and clean up after interdiff

On Sat, 2012-08-18 at 16:02 +0800, Paul Wise wrote:

> The Debian derivatives census scripts found a case where debdiff's
> interaction with interdiff causes debdiff to fail. This is with an old
> version of the sqlite3 source package from Maemo 4.1.2. Below are the
> commands you can use to reproduce the issue. This issue occurs with both
> Debian squeeze and wheezy, the package data below is for wheezy.

So the census scripts uncovered a different case where debdiff fails due
to interdiff failing (recent Ubuntu/Debian OpenJDK 6 and 7 packages).
The interesting thing is that debdiff's internal method does not fail in
this situation, so whether debdiff will fail or not depends on whether
interdiff is installed. Then I tried the sqlite3 issue on a machine
without interdiff installed and debdiff's internal algorithm worked.
I also note that interdiff leaves files around when it fails.

In conclusion, if interdiff fails, please fall back on debdiff's
internal algorithm after cleaning up any of interdiff's temporary files.

Once this is fixed in debdiff, I will need a backport of devscripts so
that I can get the fix into production. After that, if you want me to
monitor the derivatives census scripts for errors relating to interdiff,
please let me know.

qa@stabile:~$ mkdir debian ubuntu
qa@stabile:~$ cd debian/
qa@stabile:~/debian$ dget --quiet --download-only 
http://http.debian.net/debian/pool/main/o/openjdk-6/openjdk-6_6b24-1.11.4-3.dsc
dscverify: can't find any Debian keyrings
qa@stabile:~/debian$ cd ../ubuntu
qa@stabile:~/ubuntu$ dget --quiet --download-only 
http://ca.archive.ubuntu.com/ubuntu/pool/main/o/openjdk-6/openjdk-6_6b24-1.11.4-3ubuntu1.dsc
dscverify: can't find any Debian keyrings
qa@stabile:~/ubuntu$ cd ..
qa@stabile:~$ debdiff debian/openjdk-6_6b24-1.11.4-3.dsc 
ubuntu/openjdk-6_6b24-1.11.4-3ubuntu1.dsc 
1 out of 7 hunks FAILED -- saving rejects to file /tmp/interdiff-1.3WTLkL.rej
interdiff: Error applying patch1 to reconstructed file
debdiff: error: interdiff -z 
/srv/qa.debian.org/home/debian/openjdk-6_6b24-1.11.4-3.diff.gz 
/srv/qa.debian.org/home/ubuntu/openjdk-6_6b24-1.11.4-3ubuntu1.diff.gz gave 
error exit status 1
qa@stabile:~$ find /tmp/
/tmp/
/tmp/interdiff-1.3WTLkL.rej
/tmp/interdiff-1.3WTLkL
/tmp/interdiff-1.3WTLkL.orig
/tmp/interdiff-2.OyOo0f
qa@stabile:~$ which interdiff
/usr/bin/interdiff
qa@stabile:~$ interdiff --version
interdiff - patchutils version 0.3.1



pabs@wagner:~$ mkdir debian ubuntu
pabs@wagner:~$ cd debian/
pabs@wagner:~/debian$ dget --quiet --download-only 
http://http.debian.net/debian/pool/main/o/openjdk-6/openjdk-6_6b24-1.11.4-3.dsc
dscverify: can't find any Debian keyrings
pabs@wagner:~/debian$  cd ../ubuntu
pabs@wagner:~/ubuntu$ dget --quiet --download-only 
http://nl.archive.ubuntu.com/ubuntu/pool/main/o/openjdk-6/openjdk-6_6b24-1.11.4-3ubuntu1.dsc
dscverify: can't find any Debian keyrings
pabs@wagner:~/ubuntu$ cd ..
pabs@wagner:~$ debdiff debian/openjdk-6_6b24-1.11.4-3.dsc 
ubuntu/openjdk-6_6b24-1.11.4-3ubuntu1.dsc 
Warning: You do not seem to have interdiff (in the patchutils package)
installed; this program would use it if it were available.
gpgv: keyblock resource `/srv/home/users/pabs/.gnupg/trustedkeys.gpg': file 
open error
gpgv: Signature made Sun 02 Sep 2012 21:51:37 UTC using DSA key ID 0F932C9C
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on 
/srv/home/users/pabs/debian/openjdk-6_6b24-1.11.4-3.dsc
gpgv: keyblock resource `/srv/home/users/pabs/.gnupg/trustedkeys.gpg': file 
open error
gpgv: Signature made Tue 04 Sep 2012 17:37:52 UTC using DSA key ID 0F932C9C
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on 
/srv/home/users/pabs/ubuntu/openjdk-6_6b24-1.11.4-3ubuntu1.dsc
diff -Nru openjdk-6-6b24-1.11.4/debian/changelog 
openjdk-6-6b24-1.11.4/debian/changelog
--- openjdk-6-6b24-1.11.4/debian/changelog      2012-09-07 06:32:29.000000000 
+0000
+++ openjdk-6-6b24-1.11.4/debian/changelog      2012-09-07 06:32:35.000000000 
+0000
@@ -1,3 +1,9 @@
+openjdk-6 (6b24-1.11.4-3ubuntu1) quantal; urgency=low
+
+  * Merge with Debian.
+
+ -- Matthias Klose <d...@ubuntu.com>  Tue, 04 Sep 2012 18:09:12 +0200
+
 openjdk-6 (6b24-1.11.4-3) unstable; urgency=low
 
   * Regenerate the control file to fix build dependencies on mips/mipsel.
diff -Nru openjdk-6-6b24-1.11.4/debian/control 
openjdk-6-6b24-1.11.4/debian/control
--- openjdk-6-6b24-1.11.4/debian/control        2012-09-07 06:32:29.000000000 
+0000
+++ openjdk-6-6b24-1.11.4/debian/control        2012-09-07 06:32:35.000000000 
+0000
...
pabs@wagner:~$ which interdiff
pabs@wagner:~$ interdiff --version
-bash: interdiff: command not found



pabs@wagner:~$ mkdir debian maemo
pabs@wagner:~$ cd debian
pabs@wagner:~/debian$ dget --quiet --download-only 
http://snapshot.debian.org/archive/debian/20070808T000000Z/pool/main/s/sqlite3/sqlite3_3.4.1-1.dsc
dscverify: can't find any Debian keyrings
pabs@wagner:~/debian$ cd ../maemo/
pabs@wagner:~/maemo$ dget --quiet --download-only  
http://repository.maemo.org/pool/maemo4.1.2/free/s/sqlite3/sqlite3_3.4.1-1osso3.dsc
dscverify: can't find any Debian keyrings
pabs@wagner:~/maemo$ debdiff debian/sqlite3_3.4.1-1.dsc 
maemo/sqlite3_3.4.1-1osso3.dsc 
debdiff: fatal error at line 317:
Can't read file: debian/sqlite3_3.4.1-1.dsc
pabs@wagner:~/maemo$ cd ..
pabs@wagner:~$ debdiff debian/sqlite3_3.4.1-1.dsc 
maemo/sqlite3_3.4.1-1osso3.dsc 
Warning: You do not seem to have interdiff (in the patchutils package)
installed; this program would use it if it were available.
gpgv: keyblock resource `/srv/home/users/pabs/.gnupg/trustedkeys.gpg': file 
open error
gpgv: Signature made Mon 06 Aug 2007 20:03:31 UTC using DSA key ID A51A4FDD
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on 
/srv/home/users/pabs/debian/sqlite3_3.4.1-1.dsc
dpkg-source: warning: extracting unsigned source package 
(/srv/home/users/pabs/maemo/sqlite3_3.4.1-1osso3.dsc)
Binary files /tmp/qtwa6CIDnq/sqlite3-3.4.1/art/2005osaward.gif and 
/tmp/Q3KQvT88dU/sqlite3-3.4.1/art/2005osaward.gif differ
Binary files /tmp/qtwa6CIDnq/sqlite3-3.4.1/art/SQLite.eps and 
/tmp/Q3KQvT88dU/sqlite3-3.4.1/art/SQLite.eps differ
diff -Nru sqlite3-3.4.1/debian/changelog sqlite3-3.4.1/debian/changelog
--- sqlite3-3.4.1/debian/changelog      2012-09-07 06:46:37.000000000 +0000
+++ sqlite3-3.4.1/debian/changelog      2012-09-07 06:46:37.000000000 +0000
@@ -1,3 +1,21 @@
+sqlite3 (3.4.1-1osso3) unstable; urgency=low
+
+  * Fixes: NB#66521
+
+ -- Pekka Marjola <pekka.marj...@nokia.com>  Fri, 24 Aug 2007 11:36:19 +0300
+
+sqlite3 (3.4.1-1osso2) unstable; urgency=low
+
+  * Update of the package.
+
+ -- Pekka Marjola <pekka.marj...@nokia.com>  Fri, 17 Aug 2007 16:42:19 +0300
+
+sqlite3 (3.4.1-1osso1) unstable; urgency=low
+
+  * Update of debian version to osso.
+
+ -- Pekka Marjola <pekka.marj...@nokia.com>  Fri, 10 Aug 2007 10:24:55 +0300
+
 sqlite3 (3.4.1-1) unstable; urgency=low
 
   * New upstream release (closes: #436165).
...
pabs@wagner:~$ which interdiff
pabs@wagner:~$ interdiff --version
-bash: interdiff: command not found


-- 
bye,
pabs

http://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to