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. 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/ A quick overview of what's in there: - the .txt is an index of .dsc that cannot be extracted (the path mentioned in there is local, but can be easily mapped to the file structure of archive.d.o) - the .tar contains the same content of the dir "unextractable-dsc" for easier download - the dir itself is organized per-release and contains in a flat structure the source packages + a .log file for each of them with the captured output of "dpkg-source -x --no-check DSC_FILE" 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. 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) - 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. ... and thanks a bunch for maintaining dpkg! Cheers. -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.12-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dpkg-dev depends on: ii base-files 7.2 ii binutils 2.24-3 ii bzip2 1.0.6-5 ii libdpkg-perl 1.17.6 ii make 3.81-8.3 ii patch 2.7.1-4 ii xz-utils 5.1.1alpha+20120614-2 Versions of packages dpkg-dev recommends: ii build-essential 11.6 ii fakeroot 1.19-2 ii gcc [c-compiler] 4:4.8.2-2 ii gcc-4.6 [c-compiler] 4.6.4-5 ii gcc-4.7 [c-compiler] 4.7.3-11 ii gcc-4.8 [c-compiler] 4.8.2-16 ii gnupg 1.4.16-1.1 ii gnupg2 2.0.22-3 ii gpgv 1.4.16-1.1 ii libalgorithm-merge-perl 0.08-2 Versions of packages dpkg-dev suggests: ii debian-keyring 2014.01.31 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org