Filewatcher File Search File Search
Catalog
Content Search
» » » » » » debhelper_0.55bo1.tar.gz » Content »
pkg://debhelper_0.55bo1.tar.gz:56770/debhelper-0.56/  info  downloads

README

Debhelper is a collection of programs that can be used in debian/rules files
to automate common tasks. For further documentation, see the man pages for
dh_* commands.

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).


Converting from debstd to debhelper:
-----------------------------------

Debhelper is designed to be mostly backwards compatible to debstd. I say
mostly because I haven't made debhelper handle everything that debstd does
yet, and in a few cases, it does things differently (and I hope, better).

In general, you can switch over to using debhelper as follows. In your
debian/rules, where you used to have some lines that read something like:

	debstd CHANGES TODO README
	dpkg-gencontrol
	dpkg --build debian/tmp ..

Remove that and replace it with something like:

	dh_installdocs TODO README
	dh_installexamples
	dh_installmenu
	dh_installcron
	dh_installmanpages
	dh_installchangelogs CHANGES
	dh_movefiles
	dh_strip
	dh_compress
	dh_fixperms
	dh_suidregister
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_makeshlibs
	dh_md5sums
	dh_builddeb

Notice that the parameters sent to debstd get split up among the dh_*
programs. The upstream changelog is passed to dh_installchangelogs, and the
docs are passed to dh_installdocs.

Debstd has many switches, that turn off different parts of it. So if you 
were using debstd -m to tell it not to automatically install manpages,
for example, you can just comment out the dh_installmanpages line.

Finally, debstd automatically modified postinst, postrm, etc scripts. Some
of the dehelper apps do that too, but they do it differently. Debstd just
appends its commands to the end of the script. Debhelper requires that you
insert a tag into your scripts, that will tell debhelper where to insert
commands. So if you have postinst, postrm, etc scripts, add a line reading
"#DEBHELPER#" to the end of them.

Once you think it's all set up properly, do a test build of your package. If 
it works ok, I recommend that you compare the new package and the old 
debstd-generated package very closely. Pay special attention to the postint, 
postrm, etc scripts.


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 
autogenerated 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:

print << `EOF`
#DEBHELPER#
EOF


Notes on multiple binary packages:
---------------------------------

If your source package generates more than one binary package, debhelper
programs will default to acting on all binary packages when run. If your
source package happens to generate one architecture dependent package, and
another architecture independent package, this is not the correct behavior,
because you need to generate the architecture dependent packages in the
binary-arch debian/rules target, and the architecture independent packages
in the binary-indep debian/rules target.

To facilitate this, as well as give you more control over which packages
are acted on by debhelper programs, all debhelper programs accept the
following parameters:

-a		Act on architecture dependent packages
-i		Act on architecture independent packages
-ppackage	Act on the package named "package" (may be repeated multiple
		times)

These parameters are cumulative. If none are given, the tools default to
affecting all packages.

See examples/rules.multi for an example of how to use this.


Package build directories -- debian/tmp, etc:
--------------------------------------------

By default, all debhelper programs assume that the temporary directory used
for assembling the tree of files in a package is debian/tmp for the first
package listed in debian/control, and debian/<packagename> for each
additional package.

Sometimes, you might want to use some other temporary directory. This is
supported by the -P flag. The directory to use is specified after -P, for
example, "dh_installdocs -Pdebian/tmp", will use debian/tmp as the temporary
directory. Note that if you use -P, the debhelper programs can only be
acting on a single package at a time. So if you have a package that builds
many binary packages, you will need to use the -p flag to specify which
binary package the debhelper program will act on. For example:

	dh_installdocs -pfoolib1 -Pdebian/tmp-foolib1
	dh_installdocs -pfoolib1-dev -Pdebian/tmp-foolib1-dev
	dh_installdocs -pfoolib-bin -Pdebian/tmp-foolib-bin

This uses debian/tmp-<package> as the package build directory.


-- Joey Hess <joeyh@master.debian.org>
Results 1 - 1 of 1
Help - FTP Sites List - Software Dir.
Search over 15 billion files
© 1997-2017 FileWatcher.com