Hi,
I'm not sure that I have entirely understood this, but I'm reasonably this doesn't work as advertised, so here's a bug report.
In the dpkg manpage for 3.0 (quilt) it says:
Any change on a binary file is not representable in a diff and will
thus lead to a failure unless the maintainer deliberately decided to
include that modified binary file in the debian tarball (by listing it
in debian/source/include-binaries). The build will also fail if it
finds binary files in the debian sub-directory unless they have been
whitelisted through debian/source/include-binaries.
At
http://people.canonical.com/~jamesw/test_0.1-1.dsc
you will find an example source package that ships a binary file
upstream, and then modifies this in the packaging, and lists it in
include-binaries.
If you look in the Debian tarball you will see the file is included as
expected.
The behaviour seems to differ depending on the environment though. On my
Ubuntu lucid system with the above dpkg version installed I cannot
extract the source package:
dpkg-source: info: extracting test in test-0.1
dpkg-source: info: unpacking test_0.1.orig.tar.gz
dpkg-source: info: unpacking test_0.1-1.debian.tar.gz
tar: testfile: Cannot open: File exists
tar: Exiting with failure status due to previous errors
dpkg-source: error: tar --no-same-owner --no-same-permissions --anchored
--no-wildcards -xkf - gave error exit status 2
On Debian sid and Ubuntu maverick it apparently extracts but does the wrong
thing (not tested directly on sid, only maverick, prompted by a problem
on a sid build slave).
It appears to me as though -k is not going to allow include-binaries to
do its thing at extraction time.
Please test, if the package extracts check "testfile" in the root of the
unpacked dir, it should have "good" and not "bad" in it.
Thanks,
James
-- System Information:
Debian Release: squeeze/sid
APT prefers lucid-updates
APT policy: (500, 'lucid-updates'), (500, 'lucid-security'), (500, 'lucid-proposed'), (500, 'lucid')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-24-generic (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages dpkg-dev depends on:
ii base-files 5.0.0ubuntu20.10.04.2 Debian base system miscellaneous f
ii binutils 2.20.1-3ubuntu7 The GNU assembler, linker and bina
ii bzip2 1.0.5-4 high-quality block-sorting file co
ii dpkg 1.15.5.6ubuntu4.1 Debian package management system
ii libtimedate-perl 1.1900-1 Time and date functions for Perl
ii lzma 4.43-14ubuntu2 Compression method of 7z format in
ii make 3.81-7ubuntu1 An utility for Directing compilati
ii patch 2.6-2ubuntu1 Apply a diff file to an original
ii perl [perl5] 5.10.1-8ubuntu2 Larry Wall's Practical Extraction
ii perl-modules 5.10.1-8ubuntu2 Core Perl modules
ii xz-utils 4.999.9beta+20091116-1 XZ-format compression utilities
Versions of packages dpkg-dev recommends:
ii build-essential 11.4build1 Informational list of build-essent
ii fakeroot 1.14.4-1ubuntu1 Gives a fake root environment
ii gcc [c-compiler] 4:4.4.3-1ubuntu1 The GNU C compiler
ii gcc-4.4 [c-compiler] 4.4.3-4ubuntu5 The GNU C compiler
ii gnupg 1.4.10-2ubuntu1 GNU privacy guard - a free PGP rep
ii gpgv 1.4.10-2ubuntu1 GNU privacy guard - signature veri
Versions of packages dpkg-dev suggests:
pn debian-keyring <none> (no description available)
pn debian-maintainers <none> (no description available)
-- no debconf information
--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
On Wed, 25 Aug 2010, James Westby wrote:
> On Debian sid and Ubuntu maverick it apparently extracts but does the wrong
> thing (not tested directly on sid, only maverick, prompted by a problem
> on a sid build slave).
>
> It appears to me as though -k is not going to allow include-binaries to
> do its thing at extraction time.
>
> Please test, if the package extracts check "testfile" in the root of the
> unpacked dir, it should have "good" and not "bad" in it.
It was doing the wrong thing on sid, too. Thanks for the report, I dropped
the -k in the git repo, it was useless.
Cheers,
--
Raphaël Hertzog ◈ Debian Developer ◈ [Flattr=20693]
Follow my Debian News ▶ http://RaphaelHertzog.com (English)
▶ http://RaphaelHertzog.fr (Français)