On Wed, 2014-03-05 at 20:01:29 +0100, Stefano Zacchiroli wrote: > Package: dpkg-dev > Version: 1.17.6 > Severity: normal > File: /usr/bin/dpkg-source
> While injecting historical Debian releases from archive.debian.org into > sources.debian.net, I've stumbled upon old source packages that can no longer > be extracted using dpkg-source -x. I believe this is unfortunate, and that > preserving the ability to extract all previously released source packages > would > be nice. This should be considered a bug, yes. > I've collected the packages that can no longer be extract (without returning a > 0 exit code, at least) and made them available here: > > http://people.debian.org/~zack/dpkg-source-x-regression/ Thanks. > The most common (and likely the only real bug) offendere is like this: > > dpkg-source: error: version number does not start with digit > dpkg-source: info: extracting cnews in cnews-cr.g7 > > (from > http://people.debian.org/~zack/dpkg-source-x-regression/unextractable-dsc/2.1-slink/cnews_cr.g7-12.1.dsc.log) > > there are currently 25 packages that cannot be extracted for that reason (I'm > still extracting lenny, but I suspect that would add 1-2 extra packages max; > I'll update my archive on people.d.o when done). This seems to be due to the > extra check introduced in (thanks Cyril Brulebois for finding it): > > > http://anonscm.debian.org/gitweb/?p=dpkg/dpkg.git;a=commitdiff;h=0cacb0c3a1d1f837c957f3917a040ace6d60f9e7 > > I haven't yet tried reverting the commit and redoing the extraction. Hmm, yeah this type of sanity check should not really be applied on extractors, at least w/o a way to override. I'm fixing this for dpkg 1.17.7. > There seems to be at least two other failure causes: > > - patches not applying cleanly, e.g.: > > dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -b -z > .dpkg-orig < ./rx_1.5-6.diff.gz gave error exit status 1 > can't find file to patch at input line 3 > > (from > http://people.debian.org/~zack/dpkg-source-x-regression/unextractable-dsc/2.2-potato/rx_1.5-6.dsc.log) I'm checking when this regressed. > - corrupted .gz file (the .diff.gz, by the look ofit), e.g.: > > dpkg-source: info: applying xfaces_3.3-14.diff.gz > > gzip: stdin: unexpected end of file > dpkg-source: error: gunzip gave error exit status 1 > > (from > http://people.debian.org/~zack/dpkg-source-x-regression/unextractable-dsc/2.2-potato/xfaces_3.3-14.dsc.log) > These might be genuine source packages bug that we let flow into old releases > --- I haven't checked yet. But if OTOH they are due to changes in, say, gzip, > it'd be nice to have a way for dpkg-source to cope with these too, and > preserve > the ability to extract ancient packages. If this is due to a change in gzip, then that's something to be dealt in gzip. If the a previous gzip produced bogus data, then I'd rather not workaround that in dpkg-source. If this had been a warning (exit code 2, instead of 1), then I'd be fine changing dpkg-source to ignore gzip warnings, but certainly not if gzip considers it an error. Guillem -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org