Hello, since a few weeks the Debian archive accepts source package using the new formats "3.0 (quilt)" and "3.0 (native)". The last step for us (dpkg maintainers) in this project is to change dpkg-source to use those new formats by default. However, before we do this we want to ensure that no packages (in sid) will be broken due to this switch and there are quite a few packages left to fix: http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=hertzog@debian.org;tag=3.0-quilt-by-default You're more than welcome to help us achieve this release goal [2]. The initial uptake is quite good, more than 120 source packages have been converted already: Graph: http://upsilon.cc/~zack/stuff/dpkg-v3/ Raw numbers: http://udd.debian.org/cgi-bin/dpkgformat.cgi We have collected some question/answers from early adopters in the dedicated wiki page, the most important information is pasted below. We hope you will find it helpful to convert your own packages. http://wiki.debian.org/Projects/DebSrc3.0#FAQ === Why should I convert my package to 3.0 (quilt) format? === Pick the reasons that matter to you: * by keeping patches separate and properly documented (with DEP-3[1]): * the Debian changes are more likely to be reviewed (for example thanks to http://patch-tracker.debian.org) * any upstream contributor is more likely to find and merge the patches (if you haven't forwarded it properly) * other distributions can reuse our patches * even if you don't have any upstream patch right now, next time that someone must NMU your package, they can cleanly add a patch (with a proper DEP-3 header) without having to modify the build system * same applies for derivative distributions that have to modify your packages... you're more likely to be able to find something valuable to merge if their changes are kept as separate patches instead of merged within the .diff.gz * debian/rules can be simplified by getting rid of the patching/unpatching code (or the uuencoding/uudecoding code if you ship a supplementary binary file like an icon) * the upstream tarball is bzip2-compressed and you don't want to have to convert it * the upstream tarball contains a debian directory and you don't want to repackage it just to remove that directory * the upstream author releases the software in multiple tarballs * you don't have to add -i -I every time that you manually build the package from the VCS repository (the VCS-specific files are ignored by default) * in the long run it's best to standardize on a single patch system (new contributors need to learn a single system, more people can help you, etc.) and quilt appears to be that patch system. === How to convert a source package? === You need to put "3.0 (quilt)" or "3.0 (native)" in debian/source/format to indicate the desired format to dpkg-source (see the dpkg-source(1) manual page for more information). Native packages should not need any other change. When you switch to "3.0 (quilt)", there are other changes that you might want to do: * If your .diff.gz modifies upstream files, you should really put those changes in separate quilt patches first, otherwise all those changes will be merged in a single quilt patch named debian/patches/debian-changes-<version>. Consider documenting those patches by following DEP-3[1]. * If you use another patch system (like dpatch or dbs), consider switching to quilt (you can then simplify your debian/rules, see next point). * You can remove everything related to quilt in debian/rules (patch/unpatch logic, cleanup of quilt stamp file and its .pc directory). === Does a 3.0 (quilt) source package need to build-depend on quilt? === If you drop the quilt usage in debian/rules (patch/unpatch logic), then no. === Is the README.source file needed with 3.0 (quilt) source packages? === No. Since dpkg-source -x applies the patch, you don't have to explain how the patch system works. If lintian gives you the patch-system-but-no-source-readme warning, upgrade to the latest version in sid. === Other questions ? === Read the full FAQ in the wiki and the dpkg-source(1) manual page. If you still have questions, please ask on debian-devel@lists.debian.org. Thank you for your attention. [1] http://dep.debian.net/deps/dep3/ [2] http://wiki.debian.org/ReleaseGoals/NewDebFormats http://release.debian.org/squeeze/goals.txt -- Raphaël Hertzog
Attachment:
signature.asc
Description: Digital signature