]> git.donarmstrong.com Git - debhelper.git/blobdiff - debhelper.pod
whitespace
[debhelper.git] / debhelper.pod
index de2a053a4d7df3a645c4c3ae8b24e6b98246b869..a4765baba8367f458a96f5fa1cc80a07056a061a 100644 (file)
@@ -28,7 +28,7 @@ package contains a tutorial about making your first package using debhelper.
 
 =head1 DEBHELPER COMMANDS
 
 
 =head1 DEBHELPER COMMANDS
 
-Here is the complete list of available debhelper commands. See their man
+Here is the list of debhelper commands you can use. See their man
 pages for additional documentation.
 
 =over 4
 pages for additional documentation.
 
 =over 4
@@ -37,8 +37,20 @@ pages for additional documentation.
 
 =back
 
 
 =back
 
+=head2 Deprecated Commands
+
+A few debhelper commands are deprecated and should not be used.
+
+=over 4
+
+#LIST_DEPRECATED#
+
+=back
+
+=head2 Other Commands
+
 If a program's name starts with "dh_", and the program is not on the above
 If a program's name starts with "dh_", and the program is not on the above
-list, then it is not part of the debhelper package, but it should still
+lists, then it is not part of the debhelper package, but it should still
 work like the other programs described on this page.
 
 =head1 DEBHELPER CONFIG FILES
 work like the other programs described on this page.
 
 =head1 DEBHELPER CONFIG FILES
@@ -62,9 +74,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
 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
 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
@@ -92,7 +105,8 @@ will output what it would have done.
 
 =item B<-a>, B<--arch>
 
 
 =item B<-a>, B<--arch>
 
-Act on all architecture dependent packages.
+Act on architecture dependent packages that should be built for the
+build architecture.
 
 =item B<-i>, B<--indep>
 
 
 =item B<-i>, B<--indep>
 
@@ -105,19 +119,22 @@ times to make debhelper operate on a given set of packages.
 
 =item B<-s>, B<--same-arch>
 
 
 =item B<-s>, B<--same-arch>
 
-This is a smarter version of the -a flag, that is used in some rare
-circumstances. It understands that if the control file lists "Architecture: i386"
-for the package, the package should not be acted on on other architectures. So
-this flag makes the command act on all "Architecture: any" packages, as well
-as on any packages that have the current architecture explicitly specified.
-Contrast to the -a flag, which makes the command work on all packages that
-are not architecture independent.
+This used to be a smarter version of the -a flag, but the -a flag is now
+equally smart.
 
 =item B<-N>I<package>, B<--no-package=>I<package>
 
 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<-N>I<package>, B<--no-package=>I<package>
 
 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<file>
 
 Ignore the specified file. This can be used if debian/ contains a debhelper
 =item B<--ignore=>I<file>
 
 Ignore the specified file. This can be used if debian/ contains a debhelper
@@ -165,6 +182,67 @@ in ALL packages acted on, not just the first.
 
 =back
 
 
 =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<buildsystem>, B<--buildsystem=>I<buildsystem>
+
+Force use of the specified I<buildsystem>, instead of trying to auto-select
+one which might be applicable for the package.
+
+=item B<-D>I<directory>, B<--sourcedirectory=>I<directory>
+
+Assume that the original package source tree is at the specified
+I<directory> rather than the top level directory of the Debian
+source package tree.
+
+=item B<-B>[I<directory>], B<--builddirectory>=[I<directory>]
+
+Enable out of source building and use the specified I<directory> as the build
+directory. If I<directory> 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<--parallel>
+
+Enable parallel builds if underlying build system supports them.
+The number of parallel jobs is controlled by the
+DEB_BUILD_OPTIONS environment variable (L<Debian Policy, section 4.9.1>) at
+build time. It might also be subject to a build system specific limit.
+
+If this option is not specified, debhelper currently defaults to not
+allowing parallel package builds.
+
+=item B<--max-parallel>I<=maximum>
+
+This option implies L<--parallel> and allows further limiting the number of
+jobs that can be used in a parallel build. If the package build is known to
+only work with certain levels of concurrency, you can set this to the maximum
+level that is known to work, or that you wish to support.
+
+=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
 =head1 NOTES
 
 =head2 Multiple binary package support
@@ -333,6 +411,8 @@ dh_link will correct existing links to conform with policy.
 
 =back
 
 
 =back
 
+This mode is deprecated.
+
 =item V5
 
 Changes from V4 are:
 =item V5
 
 Changes from V4 are:
@@ -420,17 +500,6 @@ none is specified.
 
 =back
 
 
 =back
 
-=head2 Doc directory symlinks
-
-Sometimes it is useful to make a package not contain a /usr/share/doc/package
-directory at all, instead placing just a dangling symlink in the binary
-package, that points to some other doc directory. Policy says this is ok if
-your package depends on the package whose doc directory it uses. To
-accomplish this, just don't tell debhelper to install any documentation
-files into the package, and use dh_link to set up the symlink (or do it by
-hand), and debhelper should do the right thing: notice it is a dangling
-symlink and not try to install a copyright file or changelog.
-
 =head2 udebs
 
 Debhelper includes support for udebs. To create a udeb with debhelper,
 =head2 udebs
 
 Debhelper includes support for udebs. To create a udeb with debhelper,