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

Reply via email to