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
57
58
|
Debhelper is a collection of programs that can be used in debian/rules files
to automate common tasks related to building debian binary packages. For
further documentation, see the man pages for dh_* commands. For an overview
of debhelper, see the debhelper(1) man page.
To help you get started, I've included examples of debian/rules files
that use debhelper commands extensively. See /usr/doc/debhelper/examples/ .
These files are also useful as they give one good order you can run the
various debhelper scripts in (though other variations are possible).
Starting a new package:
----------------------
You can just use the example rules files and do the rest of the new package
set up by hand, or you could try the new dh-make package, which contains a
"dh_make" command that is similar to debmake, and tries to automate the
process.
Converting from debstd to debhelper:
-----------------------------------
See the file "from-debstd" for documentation on how to do this.
Automatic generation of debian install scripts:
----------------------------------------------
Some debhelper commands will automatically generate parts of debian install
scripts. If you want these automatically generated things included in your
debian install scripts, then you need to add "#DEBHELPER#" to your scripts,
in the place the code should be added. "#DEBHELPER#" will be replaced by any
auto-generated code when you run dh_installdeb.
All scripts that automatically generate code in this way let it be disabled
by the -n parameter.
Note that it will be shell code, so you cannot directly use it in a perl
script. If you would like to embed it into a perl script, here is one way to
do that (note the tricky use of backquotes) (also note that I made sure that
$1, $2, etc are set with the set command):
print << `EOF`
set -- @ARGV
#DEBHELPER#
EOF
Other notes:
-----------
Note that if you are generating a debian package that has arch-indep and
arch-dependent portions, and you are using dh_movefiles to move the
arch-indep files out of debian/tmp, you need to make sure that dh_movefiles
does this even if only the arch-dependent package is being built (for ports
to other architectures). I handle this in debian/rules.multi by calling
dh_movefiles in the install target.
Debhelper's home page is at http://kitenet.net/programs/debhelper/
-- Joey Hess <joeyh@master.debian.org>
|