Package: adonthell Version: 0.3.4.cvs.20050813-4 Severity: minor Usertags: 3.0-quilt-by-default
To prepare a possible switch to the new source package format "3.0 (quilt)" [1], I converted all source packages and tried to rebuild them. Unfortunately, adonthell failed, you can try yourself with those commands (and dpkg-dev >= 1.14.19 [2]) : $ apt-get source adonthell $ sed -i -e '/^Source:/ aFormat: 3.0 (quilt)' adonthell-0.3.4.cvs.20050813/debian/control $ dpkg-source -b adonthell-0.3.4.cvs.20050813 $ dpkg-source -x adonthell_0.3.4.cvs.20050813-4.dsc $ cd adonthell-0.3.4.cvs.20050813 && debuild -us -uc In this process, if the .diff.gz contains changes to upstream files, dpkg-source will have created a corresponding patch in debian/patches/debian-changes-0.3.4.cvs.20050813-4 and will have registered that patch in a quilt series (debian/patches/series, it is created if needed). All the patches listed in the "series" file are applied directly during the extraction (dpkg-source -x). quilt itself is used if available (and will thus lead to the creation of the .pc directory), otherwise dpkg-source applies the patches by itself. For more information about the new source package format see the manual page dpkg-source(1). In the case of adonthell, it already uses quilt but the patch 02_use_libsdl-ttf.diff modifies a file (src/py_adonthell_wrap.cc) that doesn't exist in the original tarball. That file is created by the Debian .diff.gz. You should thus simply create the full file within the patch 02_use_libsdl-ttf.diff instead of having the change split in two places. The conversion of the package fails when dpkg-source tries to apply the quilt series on top of the plain upstream directory (precisely when it tries to convert the local changes to a new patch at the _end_ of the quilt series). As a side note, you must also pay attention to the following points in your quilt usage to guarantee compatibility with the new source package format: - all your patches must be applicable with the "-p1" option of patch (and you shouldn't use options in the series file to override this) - the patches must be in debian/patches/ together with the "series" file (you can use QUILT_PATCHES=debian/patches if needed) - you should not override QUILT_PC to change the location of quilt's internal directory (".pc" by default) - the patches should not reference absolute filenames (in +++/--- lines) - your clean target must work even if the patches are already applied - your build target must work with patches applied even if the clean target is supposed to unapply them (because dpkg-source -b might have applied them back) Cheers, [1] http://lists.debian.org/debian-devel-announce/2008/04/msg00004.html [2] the upcoming dpkg-dev 1.14.20 is more tolerant with patches, you can grab it here if you want to try with that version: http://people.debian.org/~hertzog/packages/dpkg-dev_1.14.20_all.deb -- Raphael Hertzog -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]