1 Debhelper v2 is a major new revision of debhelper. Currently, v2 is still
2 being worked on, and will change in drastic ways without notice. To keep
3 this from breaking packages, debhelper will continue to operate in v1
4 compatability mode by default.
6 To enable debhelper v2 features (do this with *caution*), set DH_COMPAT=2 in
7 your debian/rules. Also, it is a very good idea to add a call to your
8 debian/rules like this:
10 To ensure that your package won't be built with some old version of
11 debhelper that ignores the DH_COMPAT flag.
13 Here are the changes I'm planning to make to debhelper for v2, based on
14 prior discussion on debian-devel.
16 Items marked with a + are done. All others will happen as soon as I can code
19 + Standardize on the name used for the temporary build directory of a
20 package. Currently it's debian/tmp/ for the first package and
21 debian/<package>/ for other packages of a multi-binary package. I've
22 decided after much agonizing to to use debian/<package>. The main thing this
23 has going for it is it means lots of multi-binary packages need only small
24 alterations, since they already use debian/<package> for making most of
25 thier .deb's anyway. I eliminated the other ideas for these reasons:
26 - debian/tmp/<package>: debian/tmp already has history behind it,
27 changing how it's used would be confusing.
28 - debian/build/<package>: confusing (is the code compiled there?)
29 - debian/tmp-<package>, debian/package-<tmp>: too long, little gain
31 * dh_installmanpages will be made into a non-DWIM program, so you'll have to
32 specify all man pages to install and possibly where to put them. This may
34 dh_installmanpages -x xterm.1 xfoo.1 xbar.man
35 dh_installmanpages --section=8 su.man
36 Ok, there's a _little_ DWIM left in there, it'll be smart enough to munge
37 the .man filenames properly. It'll probably just assume all man pages have
38 an extention, and delete that extentation, and add the correct one.
40 * dh_movefiles will use a name other than debian/<package>.files for the
41 list of what to move, because it can't use debian/files for the first
42 package, since that file is already used elsewhere. It'll use
45 * dh_movefiles should delete empty directories after it's moved all files
48 * debian/README will be installed as /usr/share/doc/<package>/README in
49 native packages, and as README.Debian in non-native packages. This is
50 consistent with the handing of debian/TODO and debian/changelog. (#34628)
52 * There will be no change to the names of debhelper config files used, I've
53 decided against debian/<package>/* and the like, because although those
54 subdirs do work, they're not allowed by the packaging manual, and they'd
55 make source unpacking by hand a lot harder. I will leave these files
56 completly as they are now. However, I will remove most of the language
57 documenting that debian/<foo> works, and will deprecate that usage.
58 debian/<package>.<foo> will be preferred even in single binary packages.
60 * Every file in etc/ will be automatically be flagged as a conffile.
62 * Debhelper config files will support globbing via * and ?, when
63 appropriate. To turn this off and use those changarcters raw, just quote
66 * dh_makeshlibs will generate autoscript fragments for ldconfig. This will
67 require you call it before dh_installdeb, which isn't always done now.