[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

debhelper: best practice changes



If you do not use debhelper or are busy, you may hit n now. Nothing here
is urgent.

I want to bring everyone up to date on some changes in best practices
for using debhelper. All new features described herein are available in
the version of debhelper shipped with Debian 3.0 (woody), so you do not
have to worry about use of these new features making backports harder.

debian/compat vs DH_COMPAT
--------------------------

debhelper uses compatability levels to keep old packages that use it
still building, while letting me introduce useful new behavior changes.
This used to be controlled by the DH_COMPAT environment variable, which
was set in debian/rules. This had the problem that debhelper commands
would behave differently when run from debian/rules than they would at
the command line, unless you remembered to set DH_COMPAT in your
environment every time.

Therefore, debhelper now first checks for a debian/compat file, which
contains the debhelper compatability level to use. So you get the same
behavior in the rules file and at the command line. Conversion is
trivial: edit the DH_COMPAT=n out of debian/rules, and 
'echo n > debian/compat'.

debhelper compatability level v4
--------------------------------

The enhancements in this compatability level are generally minor over
v3. One important new feature is that debhelper will fill the
${misc:Depends} substitution with appropriate depenencies on debhelper,
xutils, etc. You are encouraged to add ${misc:Depends} after
${shlibs:Depends} in your debian/control files. See debhelper(1) for
details.

dh_install
----------

dh_install is a new program designed to replace the old dh_movefiles. It
has more flexible and less buggy design, and has been found to be much
more useful for large packages like kde and X. You are encourged to use it.

deprecated stuff
----------------

Compatability level v1 is slightly deprecated, and is too buggy to be
used by anyone.

dh_suidregister (43 package still using) and dh_undocumented (545 package) 
are deprecated, and do nothing. dh_testversion (143 packages) is useless
since we have build dependencies. Please stop using these.

dh_installmanpages is slightly deprecated, in favour of the newer, much
better designed dh_installman.

-- 
see shy jo

Attachment: pgphGPT2TNnqn.pgp
Description: PGP signature


Reply to: