X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debhelper.pod;h=cea528367e6c673bab743080fd4002567f540a92;hb=299975a38e3c7fb38b216adf21b0f9f46bccbf83;hp=d346c9bb48a66462aaef7157471ba7b1514dadab;hpb=6b837cdf5e02beefe506018b46b49a41f19ea494;p=debhelper.git diff --git a/debhelper.pod b/debhelper.pod index d346c9b..cea5283 100644 --- a/debhelper.pod +++ b/debhelper.pod @@ -17,9 +17,8 @@ policy changes, and packages that use them will require only a rebuild to comply with the new policy. A typical debian/rules file that uses debhelper will call several debhelper -commands in sequence. Debhelper commands are all named with a "dh_" prefix. -Examples of rules files that use debhelper are in -F +commands in sequence, or use L to automate this process. Examples of +rules files that use debhelper are in F To create a new debian package using debhelper, you can just copy one of the sample rules files and edit it by hand. Or you can try the dh-make @@ -63,9 +62,10 @@ debian/control, debhelper will use debian/foo if no debian/package.foo file can be found. 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-architecture -qDEB_HOST_ARCH", +for different architectures or OSes. If files named debian/package.foo.ARCH +or debian/package.foo.OS exist, where "ARCH" and "OS" are the same as the +output of "dpkg-architecture -qDEB_HOST_ARCH" / +"dpkg-architecture -qDEB_HOST_ARCH_OS", 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 @@ -119,6 +119,24 @@ are not architecture independent. Do not act on the specified package even if an -a, -i, or -p option lists the package as one that should be acted on. +=item B<--remaining-packages> + +Do not act on the packages which have already been acted on by this debhelper +command earlier (i.e. if the command is present in the package debhelper log). +For example, if you need to call the command with special options only for a +couple of binary packages, pass this option to the last call of the command to +process the rest of packages with default settings. + +=item B<--ignore=>I + +Ignore the specified file. This can be used if debian/ contains a debhelper +config file that a debhelper command should not act on. Note that +debian/compat, debian/control, and debian/changelog can't be ignored, but +then, there should never be a reason to ignore those files. + +For example, if upstream ships a debian/init that you don't want +dh_installinit to install, use --ignore=debian/init + =item B<-P>I, B<--tmpdir=>I Use "tmpdir" for package build directory. The default is debian/ @@ -156,6 +174,50 @@ in ALL packages acted on, not just the first. =back +=head1 BUILD SYSTEM OPTIONS + +The following command line options are supported by all of the dh_auto_* +debhelper programs. These programs support a variety of build systems, +and normally heuristically determine which to use, and how to use them. +You can use these command line options to override the default behavior. + +=over 4 + +=item B<-S>I, B<--buildsystem=>I + +Force use of the specified I, instead of trying to auto-select +one which might be applicable for the package. + +=item B<-D>I, B<--sourcedirectory=>I + +Assume that the original package source tree is at the specified +I rather than the top level directory of the Debian +source package tree. + +=item B<-B>[I], B<--builddirectory>=[I] + +Enable out of source building and use the specified I as the build +directory. If I parameter is omitted, a default build directory +will chosen. + +If this option is not specified, building will be done in source by default +unless the build system requires or prefers out of source tree building. +In such a case, the default build directory will be used even if +L<--builddirectory> is not specified. + +If the build system prefers out of source tree building but still +allows in source building, the latter can be re-enabled by passing a build +directory path that is the same as the source directory path. + +=item B<--list>, B<-l> + +List all build systems supported by debhelper on this system. The list +includes both default and third party build systems (marked as such). Also +shows which build system would be automatically selected, or which one +is manually specified with the I<--buildsystem> option. + +=back + =head1 NOTES =head2 Multiple binary package support @@ -174,9 +236,6 @@ B<-a>, B<-i>, B<-p>, and B<-s> parameters. These parameters are cumulative. If none are given, debhelper programs default to acting on all packages listed in the control file. -See F for an example of how to -use this in a package that generates multiple binary packages. - =head2 Automatic generation of debian install scripts Some debhelper commands will automatically generate parts of debian @@ -246,9 +305,9 @@ introduced. You tell debhelper which compatibility level it should use, and it modifies its behavior in various ways. Tell debhelper what compatibility level to use by writing a number to -debian/compat. For example, to turn on V5 mode: +debian/compat. For example, to turn on V7 mode: - % echo 5 > debian/compat + % echo 7 > debian/compat Unless otherwise indicated, all debhelper documentation assumes that you are using the most recent compatibility level, and in most cases does not @@ -327,10 +386,11 @@ dh_link will correct existing links to conform with policy. =back +This mode is deprecated. + =item V5 -This is the recommended mode of operation. It does everything V4 does, -plus: +Changes from V4 are: =over 8 @@ -355,15 +415,14 @@ dh_install errors out if wildcards expand to nothing. =item V6 -This mode is still under development. Currently it has these differences -compared to V5: +Changes from V5 are: =over 8 =item - -Commands that generate maintainer script fragements will order the -fragements in reverse order for the prerm and postrm scripts. +Commands that generate maintainer script fragments will order the +fragments in reverse order for the prerm and postrm scripts. =item - @@ -375,12 +434,44 @@ directory. 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. +"CVS:.svn:.git". 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. +directory. In previous compatibility levels it silently refuses to do this. + +=back + +=item V7 + +This is the recommended mode of operation. + +Changes from V6 are: + +=over 8 + +=item - + +dh_install, will fall back to looking for files in debian/tmp if it doesn't +find them in the current directory (or wherever you tell it look using +--sourcedir). This allows dh_install to interoperate with dh_auto_install, +which installs to debian/tmp, without needing any special parameters. + +=item - + +dh_clean will read debian/clean and delete files listed there. + +=item - + +dh_clean will delete toplevel *-stamp files. + +=item - + +dh_installchangelogs will guess at what file is the upstream changelog if +none is specified. + +=back =back @@ -416,9 +507,9 @@ 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 version of debhelper equal to (or greater than) the debhelper compatibility level your package uses. So if your package used -compatibility level 5: +compatibility level 7: - Build-Depends: debhelper (>= 5) + Build-Depends: debhelper (>= 7) =head1 ENVIRONMENT @@ -441,10 +532,13 @@ Set to 1 to enable no-act mode. =item DH_OPTIONS Anything in this variable will be prepended to the command line arguments -of all debhelper commands. This is useful in some situations, for example, -if you need to pass -p to all debhelper commands that will be run. One good -way to set DH_OPTIONS is by using "Target-specific Variable Values" in your -debian/rules file. See the make documentation for details on doing this. +of all debhelper commands. Command-specific options will be ignored by +commands that do not support them. + +This is useful in some situations, for example, if you need to pass -p to +all debhelper commands that will be run. One good way to set DH_OPTIONS is +by using "Target-specific Variable Values" in your debian/rules file. See +the make documentation for details on doing this. =item DH_ALWAYS_EXCLUDE