In some rare cases, you may want to have different versions of these files
for different architectures. If files named debian/package.foo.arch
-exist, where "arch" is the same as the output of "dpkg --print-architecture",
+exist, where "arch" is the same as the output of
+"dpkg-architecture -qDEB_HOST_ARCH",
then they will be used in preference to other, more general files.
In many cases, these config files are used to specify various types of
When appropriate, in cases like these, you can use standard shell wildcard
characters ('?' and '*' and '[..]' character classes) in the files.
+You can also put comments in these files; lines beginning with "#" are
+ignored.
+
=head1 SHARED DEBHELPER OPTIONS
The following command line options are supported by all debhelper programs.
Exclude an item from processing. This option may be used multiple times,
to exclude more than one thing.
-=item B<-A>, B<-all>
+=item B<-A>, B<--all>
Makes files or other items that are specified on the command line take effect
in ALL packages acted on, not just the first.
From time to time, major non-backwards-compatible changes need to be made
to debhelper, to keep it clean and well-designed as needs change and its
author gains more experience. To prevent such major changes from breaking
-existing packages, the concept of debhelper compatability levels was
-introduced. You tell debhelper which compatability level it should use, and
+existing packages, the concept of debhelper compatibility levels was
+introduced. You tell debhelper which compatibility level it should use, and
it modifies its behavior in various ways.
-You tell debhelper what compatability level to use by writing a number to
-debian/compat. For example, to turn on V4 mode:
+Tell debhelper what compatibility level to use by writing a number to
+debian/compat. For example, to turn on V5 mode:
+
+ % echo 5 > debian/compat
- % echo 4 > debian/compat
+Unless otherwise indicated, all debhelper documentation assumes that you
+are using the most recent compatibility level, and in most cases does not
+indicate if the behavior is different in an earlier compatibility level, so
+if you are not using the most recent compatibility level, you're advised to
+read below for notes about what is different in earlier compatibility
+levels.
-These are the available compatablity levels:
+These are the available compatibility levels:
=over 4
=item V1
-This is the original debhelper compatability level, and so it is the default
+This is the original debhelper compatibility level, and so it is the default
one. In this mode, debhelper will use debian/tmp as the package tree
directory for the first binary package listed in the control file, while using
debian/<package> for all other packages listed in the control file.
+
This mode is deprecated.
=item V2
In this mode, debhelper will consistently use debian/<package>
as the package tree directory for every package that is built.
+This mode is deprecated.
+
=item V3
This mode works like V2, with the following additions:
=back
+This mode is deprecated.
+
=item V4
-This is the reccommended mode of operation. It does everything V3 does,
-plus:
+Changes from V3 are:
=over 8
=item -
dh_makeshlibs -V will not include the debian part of the version number in
-the generated dependancy line in the shlibs file.
+the generated dependency line in the shlibs file.
=item -
You are encouraged to put the new ${misc:Depends} into debian/control to
-suppliment the ${shlibs:Depends} field.
+supplement the ${shlibs:Depends} field.
=item -
=back
+=item V5
+
+This is the recommended mode of operation. It does everything V4 does,
+plus:
+
+=over 8
+
+=item -
+
+Comments are ignored in debhelper config files.
+
+=item -
+
+dh_strip --dbg-package now specifies the name of a package to put debugging
+symbols in, not the packages to take the symbols from.
+
+=item -
+
+dh_installdocs skips installing empty files.
+
+=item -
+
+dh_install errors out if wildcards expand to nothing.
+
+=back
+
+=item V6
+
+This mode is still under development. Currently it has these differences
+compared to V5:
+
+=over 8
+
+=item -
+
+dh_installwm will install a slave manpage link for x-window-manager.1.gz.
+
+=item -
+
+dh_builddeb did not previously delete everything matching
+DH_ALWAYS_EXCLUDE, if it was set to a list of things to exclude, such as
+"CVS:.svn". Now it does.
+
+=item -
+
+dh_installman allows overwriting existing man pages in the package build
+directory. In previous compatability levels it silently refuses to do this.
+
=back
=head2 Doc directory symlinks
debian/, it will create it. I haven't bothered to document this in all the
man pages, but for example, dh_installdeb knows to make debian/<package>/DEBIAN/
before trying to put files there, dh_installmenu knows you need a
-debian/<package>/usr/lib/menu/ before installing the menu files, etc.
+debian/<package>/usr/share/menu/ before installing the menu files, etc.
Once your package uses debhelper to build, be sure to add
debhelper to your Build-Depends line in debian/control. You should
-build-depend on a verson of debhelper equal to (or greater than) the
-debhelper compatability level your package uses. So if your package used
-compatability level 4:
+build-depend on a version of debhelper equal to (or greater than) the
+debhelper compatibility level your package uses. So if your package used
+compatibility level 5:
- Build-Depends: debhelper (>= 4)
+ Build-Depends: debhelper (>= 5)
=head1 ENVIRONMENT