]> git.donarmstrong.com Git - debhelper.git/blob - doc/v2
r313: test
[debhelper.git] / doc / v2
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.
5
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:
9         dh_testversion 2
10 To ensure that your package won't be built with some old version of
11 debhelper that ignores the DH_COMPAT flag.
12
13 Here are the changes I'm planning to make to debhelper for v2, based on
14 prior discussion on debian-devel.
15
16 Items marked with a + are done. All others will happen as soon as I can code
17 them.
18
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
30
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
33   look something like:
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.
39
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
43   debian/<package>.move
44
45 * dh_movefiles should delete empty directories after it's moved all files
46   out of them. (#17111)  
47
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)
51
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.
59
60 * Every file in etc/ will be automatically be flagged as a conffile.
61
62 * Debhelper config files will support globbing via * and ?, when
63   appropriate. To turn this off and use those changarcters raw, just quote
64   them.
65
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.