summaryrefslogtreecommitdiff
path: root/doc/v3
blob: bd923de63004cf8dffa8db0f781f2291c7fa9f79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Debhelper v3 is a major new revision of debhelper. Currently, v3 is still
being worked on, and will change in drastic ways without notice. This
*will* break packages that use it, so don't, unless you like riding the
bleeding edge.

To enable debhelper v3 features (do this with *caution*), set DH_COMPAT=3 in
your debian/rules. Also, it is a very good idea to add a call to your
debian/rules like this:
	dh_testversion 2
To ensure that your package won't be built with some old version of
debhelper that ignores the DH_COMPAT flag.

Here are the changes I'm planning to make to debhelper for v3, based on
prior discussion on debian-devel.

Items marked with a + are done. All others will happen as soon as I can code
them.

* dh_installmanpages will be made into a non-DWIM program, so you'll have to
  specify all man pages to install and possibly where to put them. This may
  look something like:
  	dh_installmanpages -x xterm.1 xfoo.1 xbar.man
	dh_installmanpages --section=8 su.man
  Ok, there's a _little_ DWIM left in there, it'll be smart enough to munge
  the .man filenames properly. It'll probably just assume all man pages have
  an  extension, and delete that extentation, and add the correct one.

* dh_movefiles will use a name other than debian/<package>.files for the
  list of what to move, because it can't use debian/files for the first
  package, since that file is already used elsewhere. It'll use
  debian/<package>.move

* dh_movefiles should delete empty directories after it's moved all files
  out of them. (#17111)  

* debian/README will be installed as /usr/share/doc/<package>/README in
  native packages, and as README.Debian in non-native packages. This is
  consistent with the handing of debian/TODO and debian/changelog. (#34628)

* There will be no change to the names of debhelper config files used, I've
  decided against debian/<package>/* and the like, because although those
  subdirs do work, they're not allowed by the packaging manual, and they'd
  make source unpacking by hand a lot harder. I will leave these files
  completly as they are now. However, I will remove most of the language
  documenting that debian/<foo> works, and will deprecate that usage.
  debian/<package>.<foo> will be preferred even in single binary packages.

* Every file in etc/ will be automatically be flagged as a conffile.

* Debhelper config files will support globbing via * and ?, when
  appropriate. To turn this off and use those changarcters raw, just quote
  them.

* dh_makeshlibs will generate autoscript fragments for ldconfig. This will
  require you call it before dh_installdeb, which isn't always done now.