58
59
#: debhelper.pod:19
60
"A typical debian/rules file that uses debhelper will call several debhelper "
61
"commands in sequence, or use L<dh(1)> to automate this process. Examples of "
62
"rules files that use debhelper are in F</usr/share/doc/debhelper/examples/>"
61
"A typical F<debian/rules> file that uses debhelper will call several "
62
"debhelper commands in sequence, or use L<dh(1)> to automate this "
63
"process. Examples of rules files that use debhelper are in "
64
"F</usr/share/doc/debhelper/examples/>"
66
68
#: debhelper.pod:23
68
"To create a new debian package using debhelper, you can just copy one of the "
69
"sample rules files and edit it by hand. Or you can try the dh-make package, "
70
"which contains a L<dh_make|dh_make(1)> command that partially automates the "
71
"process. For a more gentle introduction, the maint-guide debian package "
72
"contains a tutorial about making your first package using debhelper."
70
"To create a new Debian package using debhelper, you can just copy one of the "
71
"sample rules files and edit it by hand. Or you can try the B<dh-make> "
72
"package, which contains a L<dh_make|dh_make(1)> command that partially "
73
"automates the process. For a more gentle introduction, the B<maint-guide> "
74
"Debian package contains a tutorial about making your first package using "
129
132
"do. Besides the common F<debian/changelog> and F<debian/control>, which are "
130
133
"in all packages, not just those using debhelper, some additional files can "
131
134
"be used to configure the behavior of specific debhelper commands. These "
132
"files are typically named debian/package.foo (where \"package\" of course, "
135
"files are typically named debian/I<package>.foo (where I<package> of course, "
133
136
"is replaced with the package that is being acted on)."
136
139
#. type: textblock
137
140
#: debhelper.pod:65
139
"For example, dh_installdocs uses files named debian/package.docs to list the "
140
"documentation files it will install. See the man pages of individual "
141
"commands for details about the names and formats of the files they use. "
142
"Generally, these files will list files to act on, one file per line. Some "
143
"programs in debhelper use pairs of files and destinations or slightly more "
144
"complicated formats."
142
"For example, B<dh_installdocs> uses files named F<debian/package.docs> to "
143
"list the documentation files it will install. See the man pages of "
144
"individual commands for details about the names and formats of the files "
145
"they use. Generally, these files will list files to act on, one file per "
146
"line. Some programs in debhelper use pairs of files and destinations or "
147
"slightly more complicated formats."
147
150
#. type: textblock
148
151
#: debhelper.pod:72
150
153
"Note that if a package is the first (or only) binary package listed in "
151
"debian/control, debhelper will use debian/foo if no debian/package.foo file "
154
"F<debian/control>, debhelper will use F<debian/foo> if no "
155
"F<debian/package.foo> file can be found."
155
158
#. type: textblock
156
159
#: debhelper.pod:76
158
161
"In some rare cases, you may want to have different versions of these files "
159
"for different architectures or OSes. If files named debian/package.foo.ARCH "
160
"or debian/package.foo.OS exist, where \"ARCH\" and \"OS\" are the same as "
161
"the output of \"dpkg-architecture -qDEB_HOST_ARCH\" / \"dpkg-architecture "
162
"-qDEB_HOST_ARCH_OS\", then they will be used in preference to other, more "
162
"for different architectures or OSes. If files named "
163
"debian/I<package>.foo.I<ARCH> or debian/I<package>.foo.I<OS> exist, where "
164
"I<ARCH> and I<OS> are the same as the output of \"B<dpkg-architecture "
165
"-qDEB_HOST_ARCH>\" / \"B<dpkg-architecture -qDEB_HOST_ARCH_OS>\", then they "
166
"will be used in preference to other, more general files."
166
169
#. type: textblock
292
295
#. type: textblock
293
296
#: debhelper.pod:140
295
"Ignore the specified file. This can be used if debian/ contains a debhelper "
296
"config file that a debhelper command should not act on. Note that "
297
"debian/compat, debian/control, and debian/changelog can't be ignored, but "
298
"then, there should never be a reason to ignore those files."
298
"Ignore the specified file. This can be used if F<debian/> contains a "
299
"debhelper config file that a debhelper command should not act on. Note that "
300
"F<debian/compat>, F<debian/control>, and F<debian/changelog> can't be "
301
"ignored, but then, there should never be a reason to ignore those files."
301
304
#. type: textblock
302
305
#: debhelper.pod:145
304
"For example, if upstream ships a debian/init that you don't want "
305
"dh_installinit to install, use --ignore=debian/init"
307
"For example, if upstream ships a F<debian/init> that you don't want "
308
"B<dh_installinit> to install, use B<--ignore=debian/init>"
544
548
#: debhelper.pod:271
545
msgid "Automatic generation of debian install scripts"
549
msgid "Automatic generation of Debian install scripts"
548
552
#. type: textblock
549
553
#: debhelper.pod:273
551
"Some debhelper commands will automatically generate parts of debian "
555
"Some debhelper commands will automatically generate parts of Debian "
552
556
"maintainer scripts. If you want these automatically generated things "
553
"included in your existing debian maintainer scripts, then you need to add "
554
"\"#DEBHELPER#\" to your scripts, in the place the code should be added. "
555
"\"#DEBHELPER#\" will be replaced by any auto-generated code when you run "
557
"included in your existing Debian maintainer scripts, then you need to add "
558
"B<#DEBHELPER#> to your scripts, in the place the code should be added. "
559
"B<#DEBHELPER#> will be replaced by any auto-generated code when you run "
559
563
#. type: textblock
614
618
"All commands of this type, besides documenting what dependencies may be "
615
619
"needed on their man pages, will automatically generate a substvar called "
616
"${misc:Depends}. If you put that token into your debian/control file, it "
617
"will be expanded to the dependencies debhelper figures you need."
620
"B<${misc:Depends}>. If you put that token into your F<debian/control> file, "
621
"it will be expanded to the dependencies debhelper figures you need."
620
624
#. type: textblock
621
625
#: debhelper.pod:312
623
"This is entirely independent of the standard ${shlibs:Depends} generated by "
624
"L<dh_makeshlibs(1)>, and the ${perl:Depends} generated by L<dh_perl(1)>. "
625
"You can choose not to use any of these, if debhelper's guesses don't match "
627
"This is entirely independent of the standard B<${shlibs:Depends}> generated "
628
"by L<dh_makeshlibs(1)>, and the B<${perl:Depends}> generated by "
629
"L<dh_perl(1)>. You can choose not to use any of these, if debhelper's "
630
"guesses don't match reality."
635
639
#: debhelper.pod:319
637
641
"By default, all debhelper programs assume that the temporary directory used "
638
"for assembling the tree of files in a package is debian/<package>."
642
"for assembling the tree of files in a package is debian/I<package>."
641
645
#. type: textblock
642
646
#: debhelper.pod:322
644
648
"Sometimes, you might want to use some other temporary directory. This is "
645
"supported by the -P flag. For example, \"dh_installdocs -Pdebian/tmp\", will "
646
"use debian/tmp as the temporary directory. Note that if you use -P, the "
647
"debhelper programs can only be acting on a single package at a time. So if "
648
"you have a package that builds many binary packages, you will need to also "
649
"use the -p flag to specify which binary package the debhelper program will "
649
"supported by the B<-P> flag. For example, \"B<dh_installdocs "
650
"-Pdebian/tmp>\", will use B<debian/tmp> as the temporary directory. Note "
651
"that if you use B<-P>, the debhelper programs can only be acting on a single "
652
"package at a time. So if you have a package that builds many binary "
653
"packages, you will need to also use the B<-p> flag to specify which binary "
654
"package the debhelper program will act on."
773
783
#. type: textblock
774
784
#: debhelper.pod:402
776
"dh_makeshlibs -V will not include the debian part of the version number in "
777
"the generated dependency line in the shlibs file."
786
"B<dh_makeshlibs -V> will not include the Debian part of the version number "
787
"in the generated dependency line in the shlibs file."
780
790
#. type: textblock
781
791
#: debhelper.pod:407
783
"You are encouraged to put the new ${misc:Depends} into debian/control to "
784
"supplement the ${shlibs:Depends} field."
793
"You are encouraged to put the new B<${misc:Depends}> into F<debian/control> "
794
"to supplement the B<${shlibs:Depends}> field."
787
797
#. type: textblock
788
798
#: debhelper.pod:412
790
"dh_fixperms will make all files in bin/ directories and in etc/init.d "
800
"B<dh_fixperms> will make all files in F<bin/> directories and in "
801
"F<etc/init.d> executable."
794
804
#. type: textblock
795
805
#: debhelper.pod:417
796
msgid "dh_link will correct existing links to conform with policy."
806
msgid "B<dh_link> will correct existing links to conform with policy."
842
852
#: debhelper.pod:456
844
854
"Commands that generate maintainer script fragments will order the fragments "
845
"in reverse order for the prerm and postrm scripts."
855
"in reverse order for the F<prerm> and F<postrm> scripts."
848
858
#. type: textblock
849
859
#: debhelper.pod:461
851
"dh_installwm will install a slave manpage link for x-window-manager.1.gz, if "
852
"it sees the man page in usr/share/man/man1 in the package build directory."
861
"B<dh_installwm> will install a slave manpage link for "
862
"F<x-window-manager.1.gz>, if it sees the man page in F<usr/share/man/man1> "
863
"in the package build directory."
855
866
#. type: textblock
856
867
#: debhelper.pod:467
858
"dh_builddeb did not previously delete everything matching DH_ALWAYS_EXCLUDE, "
859
"if it was set to a list of things to exclude, such as \"CVS:.svn:.git\". Now "
869
"B<dh_builddeb> did not previously delete everything matching "
870
"B<DH_ALWAYS_EXCLUDE>, if it was set to a list of things to exclude, such as "
871
"B<CVS:.svn:.git>. Now it does."
863
874
#. type: textblock
864
875
#: debhelper.pod:473
866
"dh_installman allows overwriting existing man pages in the package build "
877
"B<dh_installman> allows overwriting existing man pages in the package build "
867
878
"directory. In previous compatibility levels it silently refuses to do this."
880
891
#. type: textblock
881
892
#: debhelper.pod:486
883
"dh_install, will fall back to looking for files in debian/tmp if it doesn't "
884
"find them in the current directory (or wherever you tell it look using "
885
"--sourcedir). This allows dh_install to interoperate with dh_auto_install, "
886
"which installs to debian/tmp, without needing any special parameters."
894
"B<dh_install>, will fall back to looking for files in F<debian/tmp> if it "
895
"doesn't find them in the current directory (or wherever you tell it look "
896
"using B<--sourcedir>). This allows B<dh_install> to interoperate with "
897
"B<dh_auto_install>, which installs to F<debian/tmp>, without needing any "
898
"special parameters."
889
901
#. type: textblock
890
902
#: debhelper.pod:493
891
msgid "dh_clean will read debian/clean and delete files listed there."
903
msgid "B<dh_clean> will read F<debian/clean> and delete files listed there."
894
906
#. type: textblock
895
907
#: debhelper.pod:497
896
msgid "dh_clean will delete toplevel *-stamp files."
908
msgid "B<dh_clean> will delete toplevel F<*-stamp> files."
899
911
#. type: textblock
900
912
#: debhelper.pod:501
902
"dh_installchangelogs will guess at what file is the upstream changelog if "
914
"B<dh_installchangelogs> will guess at what file is the upstream changelog if "
903
915
"none is specified."
926
938
#. type: textblock
927
939
#: debhelper.pod:520
929
"dh_makeshlibs will run dpkg-gensymbols on all shared libraries that it "
930
"generates shlibs files for. So -X can be used to exclude libraries. Also, "
931
"libraries in unusual locations that dpkg-gensymbols would not have processed "
932
"before will be passed to it, a behavior change that can cause some packages "
941
"B<dh_makeshlibs> will run B<dpkg-gensymbols> on all shared libraries that it "
942
"generates shlibs files for. So B<-X> can be used to exclude libraries. "
943
"Also, libraries in unusual locations that B<dpkg-gensymbols> would not have "
944
"processed before will be passed to it, a behavior change that can cause some "
945
"packages to fail to build."
936
948
#. type: textblock
937
949
#: debhelper.pod:528
939
"dh requires the sequence to run be specified as the first parameter, and any "
940
"switches come after it. Ie, use \"dh $@ --foo\", not \"dh --foo $@\""
951
"B<dh> requires the sequence to run be specified as the first parameter, and "
952
"any switches come after it. Ie, use \"B<dh $@ --foo>\", not \"B<dh --foo "
943
956
#. type: textblock
944
957
#: debhelper.pod:533
945
msgid "dh_auto_* prefer to use perl's Module::Build in preference to Makefile.PL."
959
"B<dh_auto_>I<*> prefer to use Perl's B<Module::Build> in preference to "
954
969
#: debhelper.pod:541
956
971
"Debhelper includes support for udebs. To create a udeb with debhelper, add "
957
"\"Package-Type: udeb\" to the package's stanza in debian/control, and "
972
"\"B<Package-Type: udeb>\" to the package's stanza in F<debian/control>, and "
958
973
"build-depend on debhelper (>= 4.2). Debhelper will try to create udebs that "
959
974
"comply with debian-installer policy, by making the generated package files "
960
"end in \".udeb\", not installing any documentation into a udeb, skipping "
961
"over preinst, postrm, prerm, and config scripts, etc."
975
"end in F<.udeb>, not installing any documentation into a udeb, skipping over "
976
"F<preinst>, F<postrm>, F<prerm>, and F<config> scripts, etc."
970
985
#: debhelper.pod:550
972
987
"In general, if any debhelper program needs a directory to exist under "
973
"debian/, it will create it. I haven't bothered to document this in all the "
974
"man pages, but for example, dh_installdeb knows to make "
975
"debian/<package>/DEBIAN/ before trying to put files there, dh_installmenu "
976
"knows you need a debian/<package>/usr/share/menu/ before installing the menu "
988
"B<debian/>, it will create it. I haven't bothered to document this in all "
989
"the man pages, but for example, B<dh_installdeb> knows to make "
990
"debian/I<package>/DEBIAN/ before trying to put files there, "
991
"B<dh_installmenu> knows you need a debian/I<package>/usr/share/menu/ before "
992
"installing the menu files, etc."
980
995
#. type: textblock
981
996
#: debhelper.pod:556
983
998
"Once your package uses debhelper to build, be sure to add debhelper to your "
984
"Build-Depends line in debian/control. You should build-depend on a version "
985
"of debhelper equal to (or greater than) the debhelper compatibility level "
986
"your package uses. So if your package used compatibility level 7:"
999
"Build-Depends line in F<debian/control>. You should build-depend on a "
1000
"version of debhelper equal to (or greater than) the debhelper compatibility "
1001
"level your package uses. So if your package used compatibility level 7:"
989
1004
#. type: verbatim
1049
1064
#. type: textblock
1050
1065
#: debhelper.pod:588
1052
"This is useful in some situations, for example, if you need to pass -p to "
1053
"all debhelper commands that will be run. One good way to set DH_OPTIONS is "
1054
"by using \"Target-specific Variable Values\" in your debian/rules file. See "
1055
"the make documentation for details on doing this."
1067
"This is useful in some situations, for example, if you need to pass B<-p> to "
1068
"all debhelper commands that will be run. One good way to set B<DH_OPTIONS> "
1069
"is by using \"Target-specific Variable Values\" in your F<debian/rules> "
1070
"file. See the make documentation for details on doing this."
1059
1074
#: debhelper.pod:593
1060
msgid "DH_ALWAYS_EXCLUDE"
1075
msgid "B<DH_ALWAYS_EXCLUDE>"
1063
1078
#. type: textblock
1064
1079
#: debhelper.pod:595
1066
"If set, this adds the value the variable is set to to the -X options of all "
1067
"commands that support the -X option. Moreover, dh_builddeb will rm -rf "
1068
"anything that matches the value in your package build tree."
1081
"If set, this adds the value the variable is set to to the B<-X> options of "
1082
"all commands that support the B<-X> option. Moreover, B<dh_builddeb> will "
1083
"B<rm -rf> anything that matches the value in your package build tree."
1071
1086
#. type: textblock
1072
1087
#: debhelper.pod:599
1074
1089
"This can be useful if you are doing a build from a CVS source tree, in which "
1075
"case setting DH_ALWAYS_EXCLUDE=CVS will prevent any CVS directories from "
1090
"case setting B<DH_ALWAYS_EXCLUDE=CVS> will prevent any CVS directories from "
1076
1091
"sneaking into the package you build. Or, if a package has a source tarball "
1077
1092
"that (unwisely) includes CVS directories, you might want to export "
1078
"DH_ALWAYS_EXCLUDE=CVS in debian/rules, to make it take effect wherever your "
1093
"B<DH_ALWAYS_EXCLUDE=CVS> in F<debian/rules>, to make it take effect wherever "
1094
"your package is built."
1082
1097
#. type: textblock
1083
1098
#: debhelper.pod:606
1085
1100
"Multiple things to exclude can be separated with colons, as in "
1086
"DH_ALWAYS_EXCLUDE=CVS:.svn"
1101
"B<DH_ALWAYS_EXCLUDE=CVS:.svn>"
1089
1104
#. type: =head1
1090
#: debhelper.pod:611 dh:748 dh_auto_build:47 dh_auto_clean:48 dh_auto_configure:53 dh_auto_install:85 dh_auto_test:58 dh_bugfiles:122 dh_builddeb:91 dh_clean:138 dh_compress:204 dh_desktop:31 dh_fixperms:129 dh_gconf:99 dh_gencontrol:82 dh_icons:65 dh_install:279 dh_installcatalogs:116 dh_installchangelogs:155 dh_installcron:77 dh_installdeb:108 dh_installdebconf:126 dh_installdirs:86 dh_installdocs:301 dh_installemacsen:124 dh_installexamples:106 dh_installifupdown:69 dh_installinfo:77 dh_installinit:320 dh_installlogcheck:66 dh_installlogrotate:50 dh_installman:258 dh_installmanpages:197 dh_installmenu:87 dh_installmime:95 dh_installmodules:124 dh_installpam:59 dh_installppp:65 dh_installudev:115 dh_installwm:108 dh_installxfonts:87 dh_link:226 dh_lintian:57 dh_listpackages:29 dh_makeshlibs:250 dh_md5sums:90 dh_movefiles:170 dh_perl:146 dh_prep:60 dh_python:280 dh_scrollkeeper:28 dh_shlibdeps:171 dh_strip:236 dh_suidregister:117 dh_testdir:44 dh_testroot:27 dh_undocumented:28 dh_usrlocal:114
1105
#: debhelper.pod:611 dh:763 dh_auto_build:47 dh_auto_clean:48 dh_auto_configure:53 dh_auto_install:85 dh_auto_test:58 dh_bugfiles:122 dh_builddeb:91 dh_clean:138 dh_compress:204 dh_desktop:31 dh_fixperms:129 dh_gconf:99 dh_gencontrol:82 dh_icons:65 dh_install:280 dh_installcatalogs:116 dh_installchangelogs:155 dh_installcron:77 dh_installdeb:144 dh_installdebconf:126 dh_installdirs:86 dh_installdocs:307 dh_installemacsen:124 dh_installexamples:106 dh_installifupdown:69 dh_installinfo:77 dh_installinit:320 dh_installlogcheck:66 dh_installlogrotate:50 dh_installman:258 dh_installmanpages:197 dh_installmenu:87 dh_installmime:95 dh_installmodules:124 dh_installpam:59 dh_installppp:65 dh_installudev:115 dh_installwm:108 dh_installxfonts:87 dh_link:226 dh_lintian:57 dh_listpackages:30 dh_makeshlibs:250 dh_md5sums:90 dh_movefiles:170 dh_perl:146 dh_prep:60 dh_python:280 dh_scrollkeeper:28 dh_shlibdeps:171 dh_strip:236 dh_suidregister:117 dh_testdir:44 dh_testroot:27 dh_undocumented:28 dh_usrlocal:114
1091
1106
msgid "SEE ALSO"
1129
1144
#. type: textblock
1132
"B<dh> sequence [B<--with> I<addon>[,I<addon>,...]] [B<--list>] [B<--until> "
1133
"I<cmd>] [B<--before> I<cmd>] [B<--after> I<cmd>] [B<--remaining>] "
1134
"[S<I<debhelper options>>]"
1147
"B<dh> I<sequence> [B<--with> I<addon>[B<,>I<addon> ...]] [B<--list>] "
1148
"[B<--until> I<cmd>] [B<--before> I<cmd>] [B<--after> I<cmd>] "
1149
"[B<--remaining>] [S<I<debhelper options>>]"
1137
1152
#. type: textblock
1140
"dh runs a sequence of debhelper commands. The supported sequences correspond "
1141
"to the targets of a debian/rules file: \"build\", \"clean\", \"install\", "
1142
"\"binary-arch\", \"binary-indep\", and \"binary\"."
1148
"Commands in the binary-indep sequence are passed the \"-i\" option to ensure "
1149
"they only work on binary independent packages, and commands in the "
1150
"binary-arch sequences are passed the \"-a\" option to ensure they only work "
1151
"on architecture dependent packages."
1157
"If debian/rules contains a target with a name like "
1158
"\"override_I<dh_command>\", then when it would normally run I<dh_command>, "
1159
"dh will instead call that target. The override target can then run the "
1155
"B<dh> runs a sequence of debhelper commands. The supported I<sequence>s "
1156
"correspond to the targets of a F<debian/rules> file: B<build-arch>, "
1157
"B<build-indep>, B<build>, B<clean>, B<install-indep>, B<install-arch>, "
1158
"B<install>, B<binary-arch>, B<binary-indep>, and B<binary>."
1164
"Commands in the B<build-indep>, B<install-indep> and B<binary-indep> "
1165
"sequences are passed the B<-i> option to ensure they only work on "
1166
"architecture independent packages, and commands in the B<build-arch>, "
1167
"B<install-arch> and B<binary-arch> sequences are passed the B<-a> option to "
1168
"ensure they only work on architecture dependent packages."
1174
"If F<debian/rules> contains a target with a name like "
1175
"B<override_>I<dh_command>, then when it would normally run I<dh_command>, "
1176
"B<dh> will instead call that target. The override target can then run the "
1160
1177
"command with additional options, or run entirely different commands "
1161
1178
"instead. See examples below. (Note that to use this feature, you should "
1162
1179
"Build-Depend on debhelper 7.0.50 or above.)"
1165
1182
#. type: =head1
1166
#: dh:33 dh_auto_build:28 dh_auto_clean:29 dh_auto_configure:31 dh_auto_install:43 dh_auto_test:30 dh_bugfiles:50 dh_builddeb:21 dh_clean:41 dh_compress:48 dh_fixperms:31 dh_gconf:39 dh_gencontrol:26 dh_icons:25 dh_install:54 dh_installcatalogs:49 dh_installchangelogs:54 dh_installcron:40 dh_installdebconf:61 dh_installdirs:31 dh_installdocs:60 dh_installemacsen:48 dh_installexamples:32 dh_installifupdown:39 dh_installinfo:31 dh_installinit:48 dh_installlogrotate:22 dh_installman:60 dh_installmanpages:40 dh_installmenu:41 dh_installmime:41 dh_installmodules:44 dh_installpam:31 dh_installppp:35 dh_installudev:35 dh_installwm:34 dh_link:51 dh_makeshlibs:38 dh_md5sums:28 dh_movefiles:38 dh_perl:31 dh_prep:26 dh_python:39 dh_shlibdeps:26 dh_strip:35 dh_testdir:23 dh_usrlocal:39
1183
#: dh:35 dh_auto_build:28 dh_auto_clean:29 dh_auto_configure:31 dh_auto_install:43 dh_auto_test:30 dh_bugfiles:50 dh_builddeb:21 dh_clean:41 dh_compress:48 dh_fixperms:31 dh_gconf:39 dh_gencontrol:26 dh_icons:25 dh_install:54 dh_installcatalogs:49 dh_installchangelogs:54 dh_installcron:40 dh_installdebconf:61 dh_installdirs:31 dh_installdocs:66 dh_installemacsen:48 dh_installexamples:32 dh_installifupdown:39 dh_installinfo:31 dh_installinit:48 dh_installlogrotate:22 dh_installman:60 dh_installmanpages:40 dh_installmenu:41 dh_installmime:41 dh_installmodules:44 dh_installpam:31 dh_installppp:35 dh_installudev:35 dh_installwm:34 dh_link:51 dh_makeshlibs:38 dh_md5sums:28 dh_movefiles:38 dh_perl:31 dh_prep:26 dh_python:39 dh_shlibdeps:26 dh_strip:35 dh_testdir:23 dh_usrlocal:39
1167
1184
msgid "OPTIONS"
1172
msgid "B<--with> I<addon>[,I<addon>,...]"
1189
msgid "B<--with> I<addon>[B<,>I<addon> ...]"
1178
1195
"Add the debhelper commands specified by the given addon to appropriate "
1179
1196
"places in the sequence of commands that is run. This option can be repeated "
1180
1197
"more than once, or multiple addons can be listed, separated by commas. This "
1181
1198
"is used when there is a third-party package that provides debhelper "
1182
"commands. See the PROGRAMMING file for documentation about the sequence "
1199
"commands. See the F<PROGRAMMING> file for documentation about the sequence "
1183
1200
"addon interface."
1188
1205
msgid "B<--without> I<addon>"
1191
1208
#. type: textblock
1193
msgid "The inverse of --with, disables using the given addon."
1210
msgid "The inverse of B<--with>, disables using the given addon."
1196
1213
#. type: textblock
1198
1215
msgid "List all available addons."
1203
1220
msgid "B<--until> I<cmd>"
1206
1223
#. type: textblock
1208
1225
msgid "Run commands in the sequence until and including I<cmd>, then stop."
1213
1230
msgid "B<--before> I<cmd>"
1216
1233
#. type: textblock
1218
1235
msgid "Run commands in the sequence before I<cmd>, then stop."
1223
1240
msgid "B<--after> I<cmd>"
1226
1243
#. type: textblock
1228
1245
msgid "Run commands in the sequence that come after I<cmd>."
1233
1250
msgid "B<--remaining>"
1236
1253
#. type: textblock
1238
1255
msgid "Run all commands in the sequence that have yet to be run."
1241
1258
#. type: textblock
1243
1260
msgid "Prints commands that would run for a given sequence, but does not run them."
1246
1263
#. type: textblock
1249
"All other options passed to dh are passed on to each command it runs. This "
1250
"can be used to set an option like \"-v\" or \"-X\" or \"-N\", as well as for "
1251
"more specialised options."
1266
"All other options passed to B<dh> are passed on to each command it "
1267
"runs. This can be used to set an option like B<-v> or B<-X> or B<-N>, as "
1268
"well as for more specialised options."
1254
1271
#. type: textblock
1257
1274
"In the above options, I<cmd> can be a full name of a debhelper command, or a "
1258
1275
"substring. It'll first search for a command in the sequence exactly matching "
1528
1545
#. type: verbatim
1532
1549
"\toverride_dh_fixperms:\n"
1533
1550
"\t\tdh_fixperms\n"
1534
"\tifneq (,$(findstring foo, $(shell dh_listpackages)))\n"
1551
"\tifneq (,$(filter foo, $(shell dh_listpackages)))\n"
1535
1552
"\t\tchmod 4755 debian/foo/usr/bin/foo\n"
1540
1557
#. type: textblock
1543
1560
"Finally, remember that you are not limited to using override targets in the "
1544
"rules file when using dh. You can also explicitly define any of the regular "
1545
"rules file targets when it makes sense to do so. A common reason to do this "
1546
"is if your package needs different build-arch and build-indep targets. For "
1547
"example, a package with a long document build process can put it in "
1548
"build-indep to avoid build daemons redundantly building the documentation."
1561
"rules file when using B<dh>. You can also explicitly define any of the "
1562
"regular rules file targets when it makes sense to do so. A common reason to "
1563
"do this is if your package needs different B<build-arch> and B<build-indep> "
1564
"targets. For example, a package with a long document build process can put "
1565
"it in B<build-indep> to avoid build daemons redundantly building the "
1551
1569
#. type: verbatim
1555
1573
"\tbuild: build-arch build-indep ;\n"
1563
1581
#. type: =head1
1565
1583
msgid "INTERNALS"
1568
1586
#. type: textblock
1570
msgid "If you're curious about dh's internals, here's how it works under the hood."
1589
"If you're curious about B<dh>'s internals, here's how it works under the "
1576
1596
"Each debhelper command will record when it's successfully run in "
1577
"debian/package.debhelper.log. (Which dh_clean deletes.) So dh can tell which "
1578
"commands have already been run, for which packages, and skip running those "
1585
"Each time dh is run, it examines the log, and finds the last logged command "
1586
"that is in the specified sequence. It then continues with the next command "
1587
"in the sequence. The B<--until>, B<--before>, B<--after>, and B<--remaining> "
1588
"options can override this behavior."
1594
"dh uses the DH_INTERNAL_OPTIONS environment variable to pass information "
1595
"through to debhelper commands that are run inside override targets. The "
1596
"contents (and indeed, existence) of this environment variable, as the name "
1597
"might suggest, is subject to change at any time."
1601
#: dh:750 dh_auto_build:49 dh_auto_clean:50 dh_auto_configure:55 dh_auto_install:87 dh_auto_test:60 dh_builddeb:93 dh_clean:140 dh_compress:206 dh_fixperms:131 dh_gconf:101 dh_gencontrol:84 dh_install:281 dh_installcatalogs:118 dh_installchangelogs:157 dh_installcron:79 dh_installdeb:110 dh_installdebconf:128 dh_installdirs:88 dh_installdocs:303 dh_installemacsen:126 dh_installexamples:108 dh_installifupdown:71 dh_installinfo:79 dh_installinit:322 dh_installlogcheck:68 dh_installlogrotate:52 dh_installman:260 dh_installmanpages:199 dh_installmime:97 dh_installmodules:126 dh_installpam:61 dh_installppp:67 dh_installudev:117 dh_installwm:110 dh_installxfonts:89 dh_link:228 dh_listpackages:31 dh_makeshlibs:252 dh_md5sums:92 dh_movefiles:172 dh_perl:148 dh_prep:62 dh_python:282 dh_strip:238 dh_suidregister:119 dh_testdir:46 dh_testroot:29 dh_undocumented:30 dh_usrlocal:116
1597
"F<debian/package.debhelper.log>. (Which B<dh_clean> deletes.) So B<dh> can "
1598
"tell which commands have already been run, for which packages, and skip "
1599
"running those commands again."
1605
"Each time B<dh> is run, it examines the log, and finds the last logged "
1606
"command that is in the specified sequence. It then continues with the next "
1607
"command in the sequence. The B<--until>, B<--before>, B<--after>, and "
1608
"B<--remaining> options can override this behavior."
1614
"B<dh> uses the B<DH_INTERNAL_OPTIONS> environment variable to pass "
1615
"information through to debhelper commands that are run inside override "
1616
"targets. The contents (and indeed, existence) of this environment variable, "
1617
"as the name might suggest, is subject to change at any time."
1621
#: dh:765 dh_auto_build:49 dh_auto_clean:50 dh_auto_configure:55 dh_auto_install:87 dh_auto_test:60 dh_builddeb:93 dh_clean:140 dh_compress:206 dh_fixperms:131 dh_gconf:101 dh_gencontrol:84 dh_install:282 dh_installcatalogs:118 dh_installchangelogs:157 dh_installcron:79 dh_installdeb:146 dh_installdebconf:128 dh_installdirs:88 dh_installdocs:309 dh_installemacsen:126 dh_installexamples:108 dh_installifupdown:71 dh_installinfo:79 dh_installinit:322 dh_installlogcheck:68 dh_installlogrotate:52 dh_installman:260 dh_installmanpages:199 dh_installmime:97 dh_installmodules:126 dh_installpam:61 dh_installppp:67 dh_installudev:117 dh_installwm:110 dh_installxfonts:89 dh_link:228 dh_listpackages:32 dh_makeshlibs:252 dh_md5sums:92 dh_movefiles:172 dh_perl:148 dh_prep:62 dh_python:282 dh_strip:238 dh_suidregister:119 dh_testdir:46 dh_testroot:29 dh_undocumented:30 dh_usrlocal:116
1602
1622
msgid "L<debhelper(7)>"
1605
1625
#. type: textblock
1606
#: dh:752 dh_auto_build:51 dh_auto_clean:52 dh_auto_configure:57 dh_auto_install:89 dh_auto_test:62 dh_bugfiles:128 dh_builddeb:95 dh_clean:142 dh_compress:208 dh_desktop:35 dh_fixperms:133 dh_gconf:103 dh_gencontrol:86 dh_icons:69 dh_install:283 dh_installchangelogs:159 dh_installcron:81 dh_installdeb:112 dh_installdebconf:130 dh_installdirs:90 dh_installdocs:305 dh_installemacsen:128 dh_installexamples:110 dh_installifupdown:73 dh_installinfo:81 dh_installinit:324 dh_installlogrotate:54 dh_installman:262 dh_installmanpages:201 dh_installmenu:93 dh_installmime:99 dh_installmodules:128 dh_installpam:63 dh_installppp:69 dh_installudev:119 dh_installwm:112 dh_installxfonts:91 dh_link:230 dh_lintian:61 dh_listpackages:33 dh_makeshlibs:254 dh_md5sums:94 dh_movefiles:174 dh_perl:150 dh_prep:64 dh_python:284 dh_scrollkeeper:32 dh_shlibdeps:175 dh_strip:240 dh_suidregister:121 dh_testdir:48 dh_testroot:31 dh_undocumented:32 dh_usrlocal:118
1626
#: dh:767 dh_auto_build:51 dh_auto_clean:52 dh_auto_configure:57 dh_auto_install:89 dh_auto_test:62 dh_bugfiles:128 dh_builddeb:95 dh_clean:142 dh_compress:208 dh_desktop:35 dh_fixperms:133 dh_gconf:103 dh_gencontrol:86 dh_icons:69 dh_install:284 dh_installchangelogs:159 dh_installcron:81 dh_installdeb:148 dh_installdebconf:130 dh_installdirs:90 dh_installdocs:311 dh_installemacsen:128 dh_installexamples:110 dh_installifupdown:73 dh_installinfo:81 dh_installinit:324 dh_installlogrotate:54 dh_installman:262 dh_installmanpages:201 dh_installmenu:93 dh_installmime:99 dh_installmodules:128 dh_installpam:63 dh_installppp:69 dh_installudev:119 dh_installwm:112 dh_installxfonts:91 dh_link:230 dh_lintian:61 dh_listpackages:34 dh_makeshlibs:254 dh_md5sums:94 dh_movefiles:174 dh_perl:150 dh_prep:64 dh_python:284 dh_scrollkeeper:32 dh_shlibdeps:175 dh_strip:240 dh_suidregister:121 dh_testdir:48 dh_testroot:31 dh_undocumented:32 dh_usrlocal:118
1607
1627
msgid "This program is a part of debhelper."
1622
1642
#. type: textblock
1623
1643
#: dh_auto_build:18
1625
"dh_auto_build is a debhelper program that tries to automatically build a "
1645
"B<dh_auto_build> is a debhelper program that tries to automatically build a "
1626
1646
"package. It does so by running the appropriate command for the build system "
1627
"it detects the package uses. For example, if a Makefile is found, this is "
1628
"done by running make (or MAKE, if the environment variable is set). If "
1629
"there's a setup.py, or Build.PL, it is run to build the package."
1647
"it detects the package uses. For example, if a F<Makefile> is found, this is "
1648
"done by running B<make> (or B<MAKE>, if the environment variable is set). If "
1649
"there's a F<setup.py>, or F<Build.PL>, it is run to build the package."
1632
1652
#. type: textblock
1633
1653
#: dh_auto_build:24
1635
1655
"This is intended to work for about 90% of packages. If it doesn't work, "
1636
"you're encouraged to skip using dh_auto_build at all, and just run the build "
1656
"you're encouraged to skip using B<dh_auto_build> at all, and just run the "
1657
"build process manually."
1640
1660
#. type: textblock
1641
1661
#: dh_auto_build:30 dh_auto_clean:31 dh_auto_configure:33 dh_auto_install:45 dh_auto_test:32
1643
"See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build system "
1644
"selection and control options."
1663
"See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build "
1664
"system selection and control options."
1671
1691
#. type: textblock
1672
1692
#: dh_auto_clean:18
1674
"dh_auto_clean is a debhelper program that tries to automatically clean up "
1694
"B<dh_auto_clean> is a debhelper program that tries to automatically clean up "
1675
1695
"after a package build. It does so by running the appropriate command for the "
1676
"build system it detects the package uses. For example, if there's a Makefile "
1677
"and it contains a \"distclean\", \"realclean\", or \"clean\" target, then "
1678
"this is done by running make (or MAKE, if the environment variable is "
1679
"set). If there is a setup.py or Build.PL, it is run to clean the package."
1696
"build system it detects the package uses. For example, if there's a "
1697
"F<Makefile> and it contains a B<distclean>, B<realclean>, or B<clean> "
1698
"target, then this is done by running B<make> (or B<MAKE>, if the environment "
1699
"variable is set). If there is a F<setup.py> or F<Build.PL>, it is run to "
1700
"clean the package."
1682
1703
#. type: textblock
1709
1730
#. type: textblock
1710
1731
#: dh_auto_configure:18
1712
"dh_auto_configure is a debhelper program that tries to automatically "
1733
"B<dh_auto_configure> is a debhelper program that tries to automatically "
1713
1734
"configure a package prior to building. It does so by running the appropriate "
1714
1735
"command for the build system it detects the package uses. For example, it "
1715
"looks for and runs a ./configure script, Makefile.PL, Build.PL, or cmake. A "
1716
"standard set of parameters is determined and passed to the program that is "
1717
"run. Some build systems, such as make, do not need a configure step; for "
1718
"these dh_auto_configure will exit without doing anything."
1736
"looks for and runs a F<./configure> script, F<Makefile.PL>, F<Build.PL>, or "
1737
"F<cmake>. A standard set of parameters is determined and passed to the "
1738
"program that is run. Some build systems, such as make, do not need a "
1739
"configure step; for these B<dh_auto_configure> will exit without doing "
1721
1743
#. type: textblock
1722
1744
#: dh_auto_configure:27
1724
1746
"This is intended to work for about 90% of packages. If it doesn't work, "
1725
"you're encouraged to skip using dh_auto_configure at all, and just run "
1726
"./configure or its equivalent manually."
1747
"you're encouraged to skip using B<dh_auto_configure> at all, and just run "
1748
"F<./configure> or its equivalent manually."
1729
1751
#. type: textblock
1730
1752
#: dh_auto_configure:40
1732
"Pass \"params\" to the program that is run, after the standard parameters "
1733
"that dh_auto_configure passes. This can be used to supplement or override "
1754
"Pass I<params> to the program that is run, after the standard parameters "
1755
"that B<dh_auto_configure> passes. This can be used to supplement or override "
1734
1756
"those parameters. For example:"
1757
1779
#. type: textblock
1758
1780
#: dh_auto_install:21
1760
"dh_auto_install is a debhelper program that tries to automatically install "
1761
"built files. It does so by running the appropriate command for the build "
1762
"system it detects the package uses. For example, if there's a Makefile and "
1763
"it contains a \"install\" target, then this is done by running make (or "
1764
"MAKE, if the environment variable is set). If there is a setup.py or "
1765
"Build.PL, it is used. Note that the Ant build system does not support "
1766
"installation, so dh_auto_install will not install files built using Ant."
1782
"B<dh_auto_install> is a debhelper program that tries to automatically "
1783
"install built files. It does so by running the appropriate command for the "
1784
"build system it detects the package uses. For example, if there's a "
1785
"F<Makefile> and it contains a B<install> target, then this is done by "
1786
"running B<make> (or B<MAKE>, if the environment variable is set). If there "
1787
"is a F<setup.py> or F<Build.PL>, it is used. Note that the Ant build system "
1788
"does not support installation, so B<dh_auto_install> will not install files "
1769
1792
#. type: textblock
1770
1793
#: dh_auto_install:29
1772
"Unless --destdir option is specified, the files are installed into "
1773
"debian/<package>/ if there is only one binary package. In the multiple "
1774
"binary package case, the files are instead installed into debian/tmp/, and "
1775
"should be moved from there to the appropriate package build directory using "
1795
"Unless B<--destdir> option is specified, the files are installed into "
1796
"debian/I<package>/ if there is only one binary package. In the multiple "
1797
"binary package case, the files are instead installed into F<debian/tmp/>, "
1798
"and should be moved from there to the appropriate package build directory "
1799
"using L<dh_install(1)>."
1779
1802
#. type: textblock
1780
1803
#: dh_auto_install:35
1782
"DESTDIR is used to tell make where to install the files. If the Makefile "
1783
"was generated by MakeMaker from a Makefile.PL, it will automatically set "
1784
"PREFIX=/usr too, since such Makefiles need that."
1805
"B<DESTDIR> is used to tell make where to install the files. If the Makefile "
1806
"was generated by MakeMaker from a F<Makefile.PL>, it will automatically set "
1807
"B<PREFIX=/usr> too, since such Makefiles need that."
1787
1810
#. type: textblock
1827
1850
#. type: textblock
1828
1851
#: dh_auto_test:18
1830
"dh_auto_test is a debhelper program that tries to automatically run a "
1853
"B<dh_auto_test> is a debhelper program that tries to automatically run a "
1831
1854
"package's test suite. It does so by running the appropriate command for the "
1832
1855
"build system it detects the package uses. For example, if there's a Makefile "
1833
"and it contains a \"test\" or \"check\" target, then this is done by running "
1834
"make (or MAKE, if the environment variable is set). If the test suite fails, "
1835
"the command will exit nonzero. If there's no test suite, it will exit zero "
1836
"without doing anything."
1856
"and it contains a B<test> or B<check> target, then this is done by running "
1857
"B<make> (or B<MAKE>, if the environment variable is set). If the test suite "
1858
"fails, the command will exit nonzero. If there's no test suite, it will exit "
1859
"zero without doing anything."
1839
1862
#. type: textblock
1840
1863
#: dh_auto_test:26
1842
1865
"This is intended to work for about 90% of packages with a test suite. If it "
1843
"doesn't work, you're encouraged to skip using dh_auto_test at all, and just "
1844
"run the test suite manually."
1866
"doesn't work, you're encouraged to skip using B<dh_auto_test> at all, and "
1867
"just run the test suite manually."
1847
1870
#. type: textblock
1848
1871
#: dh_auto_test:39
1850
"Pass \"params\" to the program that is run. These can be used to supplement "
1851
"or override the any standard parameters that dh_auto_test passes."
1873
"Pass I<params> to the program that is run. These can be used to supplement "
1874
"or override the any standard parameters that B<dh_auto_test> passes."
1854
1877
#. type: textblock
1855
1878
#: dh_auto_test:46
1857
"If the DEB_BUILD_OPTIONS environment variable contains \"nocheck\", no tests "
1858
"will be performed."
1880
"If the B<DEB_BUILD_OPTIONS> environment variable contains B<nocheck>, no "
1881
"tests will be performed."
1861
1884
#. type: textblock
2109
2133
#. type: textblock
2110
2134
#: dh_compress:15
2112
"B<dh_compress> [S<I<debhelper options>>] [B<-X>I<item>] [B<-A>] [S<I<file "
2136
"B<dh_compress> [S<I<debhelper options>>] [B<-X>I<item>] [B<-A>] [S<I<file> "
2116
2140
#. type: textblock
2117
2141
#: dh_compress:19
2119
"dh_compress is a debhelper program that is responsible for compressing the "
2120
"files in package build directories, and makes sure that any symlinks that "
2121
"pointed to the files before they were compressed are updated to point to the "
2143
"B<dh_compress> is a debhelper program that is responsible for compressing "
2144
"the files in package build directories, and makes sure that any symlinks "
2145
"that pointed to the files before they were compressed are updated to point "
2125
2149
#. type: textblock
2126
2150
#: dh_compress:24
2128
"By default, dh_compress compresses files that debian policy mandates should "
2129
"be compressed, namely all files in usr/share/info, usr/share/man, files in "
2130
"usr/share/doc that are larger than 4k in size, (except the copyright file, "
2131
".html and .css files, image files, and files that appear to be already "
2132
"compressed based on their extensions), and all changelog files. Plus PCF "
2133
"fonts underneath usr/share/fonts/X11/"
2152
"By default, B<dh_compress> compresses files that Debian policy mandates "
2153
"should be compressed, namely all files in F<usr/share/info>, "
2154
"F<usr/share/man>, files in F<usr/share/doc> that are larger than 4k in size, "
2155
"(except the F<copyright> file, F<.html> and other web files, image files, "
2156
"and files that appear to be already compressed based on their extensions), "
2157
"and all F<changelog> files. Plus PCF fonts underneath "
2158
"F<usr/share/fonts/X11/>"
2149
2174
"If this file exists, the default files are not compressed. Instead, the file "
2150
2175
"is ran as a shell script, and all filenames that the shell script outputs "
2151
2176
"will be compressed. The shell script will be run from inside the package "
2152
"build directory. Note though that using -X is a much better idea in general; "
2153
"you should only use a debian/package.compress file if you really need to."
2177
"build directory. Note though that using B<-X> is a much better idea in "
2178
"general; you should only use a F<debian/package.compress> file if you really "
2156
2182
#. type: textblock
2157
2183
#: dh_compress:54
2159
"Exclude files that contain \"item\" anywhere in their filename from being "
2160
"compressed. For example, -X.tiff will exclude tiff files from compression. "
2161
"You may use this option multiple times to build up a list of things to "
2185
"Exclude files that contain F<item> anywhere in their filename from being "
2186
"compressed. For example, B<-X.tiff> will exclude TIFF files from "
2187
"compression. You may use this option multiple times to build up a list of "
2188
"things to exclude."
2165
2191
#. type: textblock
2240
2266
#. type: textblock
2241
2267
#: dh_fixperms:22
2243
"dh_fixperms makes all files in usr/share/doc in the package build directory "
2244
"(excluding files in the examples/ directory) be mode 644. It also changes "
2245
"the permissions of all man pages to mode 644. It makes all files be owned by "
2246
"root, and it removes group and other write permission from all files. It "
2247
"removes execute permissions from any libraries, headers, perl modules, or "
2248
"desktop files that have it set. It makes all files in the standard bin and "
2249
"sbin directories, usr/games/ and etc/init.d executable (since v4). Finally, "
2250
"it removes the setuid and setgid bits from all files in the package."
2269
"B<dh_fixperms> makes all files in F<usr/share/doc> in the package build "
2270
"directory (excluding files in the F<examples/> directory) be mode 644. It "
2271
"also changes the permissions of all man pages to mode 644. It makes all "
2272
"files be owned by root, and it removes group and other write permission from "
2273
"all files. It removes execute permissions from any libraries, headers, Perl "
2274
"modules, or desktop files that have it set. It makes all files in the "
2275
"standard F<bin> and F<sbin> directories, F<usr/games/> and F<etc/init.d> "
2276
"executable (since v4). Finally, it removes the setuid and setgid bits from "
2277
"all files in the package."
2409
2444
#: dh_install:15
2411
2446
"B<dh_install> [B<-X>I<item>] [B<--autodest>] [B<--sourcedir=>I<dir>] "
2412
"[S<I<debhelper options>>] [S<I<file [...] dest>>]"
2447
"[S<I<debhelper options>>] [S<I<file> ... I<dest>>]"
2415
2450
#. type: textblock
2416
2451
#: dh_install:19
2418
"dh_install is a debhelper program that handles installing files into package "
2419
"build directories. There are many dh_install* commands that handle "
2420
"installing specific types of files such as documentation, examples, man "
2421
"pages, and so on, and they should be used when possible as they often have "
2422
"extra intelligence for those particular tasks. dh_install, then, is useful "
2423
"for installing everything else, for which no particular intelligence is "
2424
"needed. It is a replacement for the old dh_movefiles command."
2453
"B<dh_install> is a debhelper program that handles installing files into "
2454
"package build directories. There are many B<dh_install>I<*> commands that "
2455
"handle installing specific types of files such as documentation, examples, "
2456
"man pages, and so on, and they should be used when possible as they often "
2457
"have extra intelligence for those particular tasks. B<dh_install>, then, is "
2458
"useful for installing everything else, for which no particular intelligence "
2459
"is needed. It is a replacement for the old B<dh_movefiles> command."
2427
2462
#. type: textblock
2428
2463
#: dh_install:27
2430
2465
"This program may be used in one of two ways. If you just have a file or two "
2431
"that the upstream Makefile does not install for you, you can run dh_install "
2432
"on them to move them into place. On the other hand, maybe you have a large "
2433
"package that builds multiple binary packages. You can use the upstream "
2434
"Makefile to install it all into debian/tmp, and then use dh_install to copy "
2435
"directories and files from there into the proper package build directories."
2466
"that the upstream Makefile does not install for you, you can run "
2467
"B<dh_install> on them to move them into place. On the other hand, maybe you "
2468
"have a large package that builds multiple binary packages. You can use the "
2469
"upstream F<Makefile> to install it all into F<debian/tmp>, and then use "
2470
"B<dh_install> to copy directories and files from there into the proper "
2471
"package build directories."
2438
2474
#. type: textblock
2439
2475
#: dh_install:34
2441
"From debhelper compatibility level 7 on, dh_install will fall back to "
2442
"looking in debian/tmp for files, if it doesn't find them in the current "
2443
"directory (or whereever you've told it to look using --sourcedir)."
2477
"From debhelper compatibility level 7 on, B<dh_install> will fall back to "
2478
"looking in F<debian/tmp> for files, if it doesn't find them in the current "
2479
"directory (or whereever you've told it to look using B<--sourcedir>)."
2496
2532
#. type: textblock
2497
2533
#: dh_install:73
2499
"This option is like --list-missing, except if a file was missed, it will not "
2500
"only list the missing files, but also fail with a nonzero exit code."
2504
#: dh_install:76 dh_installchangelogs:66 dh_installdocs:69 dh_installexamples:41 dh_link:60 dh_movefiles:50
2505
msgid "B<-Xitem>, B<--exclude=item>"
2535
"This option is like B<--list-missing>, except if a file was missed, it will "
2536
"not only list the missing files, but also fail with a nonzero exit code."
2508
2539
#. type: textblock
2509
#: dh_install:78 dh_installexamples:43 dh_movefiles:52
2540
#: dh_install:78 dh_installexamples:43
2511
"Exclude files that contain \"item\" anywhere in their filename from being "
2542
"Exclude files that contain I<item> anywhere in their filename from being "
2517
msgid "B<--sourcedir=dir>"
2547
#: dh_install:81 dh_movefiles:42
2548
msgid "B<--sourcedir=>I<dir>"
2520
2551
#. type: textblock
2525
2556
#. type: textblock
2526
2557
#: dh_install:85
2528
"Note that this is not the same as the --sourcedirectory option used by the "
2529
"dh_auto_* commands. You rarely need to use this option, since dh_install "
2530
"automatically looks for files in debian/tmp in debhelper compatibility level "
2559
"Note that this is not the same as the B<--sourcedirectory> option used by "
2560
"the B<dh_auto_>I<*> commands. You rarely need to use this option, since "
2561
"B<dh_install> automatically looks for files in F<debian/tmp> in debhelper"
2566
msgid "compatibility level 7 and above."
2536
2571
msgid "B<--autodest>"
2539
2574
#. type: textblock
2542
2577
"Guess as the destination directory to install things to. If this is "
2543
2578
"specified, you should not list destination directories in "
2544
"debian/package.install files or on the command line. Instead, dh_install "
2545
"will guess as follows:"
2579
"F<debian/package.install> files or on the command line. Instead, "
2580
"B<dh_install> will guess as follows:"
2548
2583
#. type: textblock
2551
"Strip off debian/tmp (or the sourcedir if one is given) from the front of "
2586
"Strip off F<debian/tmp> (or the sourcedir if one is given) from the front of "
2552
2587
"the filename, if it is present, and install into the dirname of the "
2553
"filename. So if the filename is debian/tmp/usr/bin, then that directory will "
2554
"be copied to debian/package/usr/. If the filename is debian/tmp/etc/passwd, "
2555
"it will be copied to debian/package/etc/."
2588
"filename. So if the filename is F<debian/tmp/usr/bin>, then that directory "
2589
"will be copied to F<debian/package/usr/>. If the filename is "
2590
"F<debian/tmp/etc/passwd>, it will be copied to F<debian/package/etc/>."
2558
2593
#. type: textblock
2561
2596
"Note that if you list exactly one filename or wildcard-pattern on a line by "
2562
"itself in a debian/package.install file, with no explicit destination, then "
2563
"dh_install will automatically guess the destination even if this flag is not "
2597
"itself in a F<debian/package.install> file, with no explicit destination, "
2598
"then B<dh_install> will automatically guess the destination even if this "
2569
msgid "I<file [...] dest>"
2604
msgid "I<file> ... I<dest>"
2572
2607
#. type: textblock
2575
2610
"Lists files (or directories) to install and where to install them to. The "
2576
"files will be installed into the first package dh_install acts on."
2611
"files will be installed into the first package F<dh_install> acts on."
2579
2614
#. type: =head1
2581
2616
msgid "EXAMPLE"
2584
2619
#. type: textblock
2587
"Suppose your package's upstream Makefile installs a binary, a man page, and "
2588
"a library into appropriate subdirectories of debian/tmp. You want to put the "
2589
"library into package libfoo, and the rest into package foo. Your rules file "
2590
"will run \"dh_install --sourcedir=debian/tmp\". Make debian/foo.install "
2622
"Suppose your package's upstream F<Makefile> installs a binary, a man page, "
2623
"and a library into appropriate subdirectories of F<debian/tmp>. You want to "
2624
"put the library into package libfoo, and the rest into package foo. Your "
2625
"rules file will run \"B<dh_install --sourcedir=debian/tmp>\". Make "
2626
"F<debian/foo.install> contain:"
2594
2629
#. type: verbatim
2694
2729
#. type: textblock
2695
2730
#: dh_installcatalogs:41
2697
"Lists the catalogs to be installed per package. Each line in that file "
2698
"should be of the form C<source dest>, where C<source> indicates where the "
2699
"catalog resides in the source tree, and C<dest> indicates the destination "
2700
"location for the catalog under the package build area. C<dest> should start "
2701
"with F</usr/share/sgml/>."
2732
"Lists the catalogs to be installed per package. Each line in that file "
2733
"should be of the form C<I<source> I<dest>>, where I<source> indicates where "
2734
"the catalog resides in the source tree, and I<dest> indicates the "
2735
"destination location for the catalog under the package build area. I<dest> "
2736
"should start with F</usr/share/sgml/>."
2704
2739
#. type: textblock
2705
#: dh_installcatalogs:55
2740
#: dh_installcatalogs:55 dh_installinit:54
2706
2741
msgid "Do not modify F<postinst>/F<postrm>/F<prerm> scripts."
2709
2744
#. type: textblock
2710
#: dh_installcatalogs:61 dh_installdocs:116 dh_installemacsen:69 dh_installinit:143 dh_installmime:53 dh_installmodules:62 dh_installudev:57 dh_installwm:56 dh_usrlocal:51
2745
#: dh_installcatalogs:61 dh_installdocs:122 dh_installemacsen:69 dh_installinit:143 dh_installmime:53 dh_installmodules:62 dh_installudev:57 dh_installwm:56 dh_usrlocal:51
2712
2747
"Note that this command is not idempotent. L<dh_prep(1)> should be called "
2713
2748
"between invocations of this command. Otherwise, it may cause multiple "
2739
2774
#. type: textblock
2740
2775
#: dh_installchangelogs:18
2742
"dh_installchangelogs is a debhelper program that is responsible for "
2777
"B<dh_installchangelogs> is a debhelper program that is responsible for "
2743
2778
"installing changelogs into package build directories."
2746
2781
#. type: textblock
2747
2782
#: dh_installchangelogs:21
2748
msgid "An upstream changelog file may be specified as an option."
2783
msgid "An upstream F<changelog> file may be specified as an option."
2751
2786
#. type: textblock
2752
2787
#: dh_installchangelogs:23
2754
"If there is an upstream changelog file, it will be be installed as "
2755
"usr/share/doc/package/changelog in the package build directory. If the "
2756
"changelog is a html file (determined by file extension), it will be "
2757
"installed as usr/share/doc/package/changelog.html instead, and will be "
2758
"converted to plain text with html2text to generate "
2759
"usr/share/doc/package/changelog."
2789
"If there is an upstream F<changelog> file, it will be be installed as "
2790
"F<usr/share/doc/package/changelog> in the package build directory. If the "
2791
"changelog is a F<html> file (determined by file extension), it will be "
2792
"installed as F<usr/share/doc/package/changelog.html> instead, and will be "
2793
"converted to plain text with B<html2text> to generate "
2794
"F<usr/share/doc/package/changelog>."
2763
2798
#: dh_installchangelogs:34
2764
msgid "debian/changelog"
2799
msgid "F<debian/changelog>"
2768
2803
#: dh_installchangelogs:36
2804
msgid "F<debian/NEWS>"
2789
2824
#. type: textblock
2790
2825
#: dh_installchangelogs:45
2792
"Use the package specific name if I<package> needs a different NEWS or "
2827
"Use the package specific name if I<package> needs a different F<NEWS> or "
2828
"F<changelog> file."
2796
2831
#. type: textblock
2797
2832
#: dh_installchangelogs:48
2799
"The changelog file is installed with a name of changelog for native "
2800
"packages, and changelog.Debian for non-native packages. The NEWS file is "
2801
"always installed with a name of NEWS.Debian."
2834
"The F<changelog> file is installed with a name of changelog for native "
2835
"packages, and F<changelog.Debian> for non-native packages. The F<NEWS> file "
2836
"is always installed with a name of F<NEWS.Debian>."
2804
2839
#. type: textblock
2805
2840
#: dh_installchangelogs:60
2807
2842
"Keep the original name of the upstream changelog. This will be accomplished "
2808
"by installing the upstream changelog as \"changelog\", and making a symlink "
2809
"from that to the original name of the changelog file. This can be useful if "
2810
"the upstream changelog has an unusual name, or if other documentation in the "
2811
"package refers to the changelog file."
2843
"by installing the upstream changelog as F<changelog>, and making a symlink "
2844
"from that to the original name of the F<changelog> file. This can be useful "
2845
"if the upstream changelog has an unusual name, or if other documentation in "
2846
"the package refers to the F<changelog> file."
2814
2849
#. type: textblock
2815
2850
#: dh_installchangelogs:68
2817
"Exclude upstream changelog files that contain \"item\" anywhere in their "
2852
"Exclude upstream F<changelog> files that contain I<item> anywhere in their "
2818
2853
"filename from being installed."
2963
2998
#. type: textblock
2964
2999
#: dh_installdeb:47
2965
msgid "This control file will be installed into the DEBIAN directory."
3000
msgid "This control file will be installed into the F<DEBIAN> directory."
2968
3003
#. type: textblock
2969
3004
#: dh_installdeb:49
2971
"In v3 compatibility mode and higher, all files in the etc/ directory in a "
3006
"In v3 compatibility mode and higher, all files in the F<etc/> directory in a "
2972
3007
"package will automatically be flagged as conffiles by this program, so there "
2973
3008
"is no need to list them manually here."
3013
msgid "I<package>.maintscript"
3019
"Lines in this file correspond to L<dpkg-maintscript-helper(1)> commands and "
3020
"parameters. Any shell metacharacters will be escaped, so arbitrary shell "
3021
"code cannot be inserted here. For example, a line such as C<mv_conffile "
3022
"/etc/oldconffile /etc/newconffile> will insert maintainer script snippets "
3023
"into all maintainer scripts sufficient to move that conffile."
3029
"A versioned Pre-Dependency on dpkg is needed to use "
3030
"L<dpkg-maintscript-helper(1)>. An appropriate Pre-Dependency is set in "
3031
"${misc:Pre-Depends} ; you should make sure to put that token into an "
3032
"appropriate place in your debian/control file."
2976
3035
#. type: textblock
2977
3036
#: dh_installdebconf:5
2988
3047
#. type: textblock
2989
3048
#: dh_installdebconf:18
2991
"dh_installdebconf is a debhelper program that is responsible for installing "
2992
"files used by debconf into package build directories."
3050
"B<dh_installdebconf> is a debhelper program that is responsible for "
3051
"installing files used by debconf into package build directories."
2995
3054
#. type: textblock
2996
3055
#: dh_installdebconf:21
2998
"It also automatically generates the postrm commands needed to interface with "
2999
"debconf. The commands are added to the maintainer scripts by "
3000
"dh_installdeb. See L<dh_installdeb(1)> for an explanation of how that works."
3057
"It also automatically generates the F<postrm> commands needed to interface "
3058
"with debconf. The commands are added to the maintainer scripts by "
3059
"B<dh_installdeb>. See L<dh_installdeb(1)> for an explanation of how that "
3003
3063
#. type: textblock
3004
3064
#: dh_installdebconf:26
3006
3066
"Note that if you use debconf, your package probably needs to depend on it "
3007
"(it will be added to ${misc:Depends} by this program)."
3067
"(it will be added to B<${misc:Depends}> by this program)."
3010
3070
#. type: textblock
3011
3071
#: dh_installdebconf:29
3013
"Note that for your config script to be called by dpkg, your postinst needs "
3014
"to source debconf's confmodule. dh_installdebconf does not install this "
3015
"statement into the postinst automatically as it it too hard to do it right."
3073
"Note that for your config script to be called by B<dpkg>, your F<postinst> "
3074
"needs to source debconf's confmodule. B<dh_installdebconf> does not install "
3075
"this statement into the F<postinst> automatically as it it too hard to do it "
3153
3214
#: dh_installdocs:29
3154
msgid "debian/copyright"
3215
msgid "F<debian/copyright>"
3158
3219
#: dh_installdocs:31
3159
msgid "debian/README.Debian"
3163
#: dh_installdocs:33
3168
#: dh_installdocs:35
3221
"The copyright file is installed into all packages, unless a more specific "
3222
"copyright file is available."
3226
#: dh_installdocs:34
3169
3227
msgid "debian/I<package>.copyright"
3173
#: dh_installdocs:37
3231
#: dh_installdocs:36
3174
3232
msgid "debian/I<package>.README.Debian"
3178
#: dh_installdocs:39
3236
#: dh_installdocs:38
3179
3237
msgid "debian/I<package>.TODO"
3182
3240
#. type: textblock
3183
#: dh_installdocs:41
3185
"Each of these files is automatically installed if present. Use the package "
3186
"specific name if I<package> needs a different version of the file."
3241
#: dh_installdocs:40
3242
msgid "Each of these files is automatically installed if present for a I<package>."
3246
#: dh_installdocs:43
3247
msgid "F<debian/README.Debian>"
3251
#: dh_installdocs:45
3252
msgid "F<debian/TODO>"
3189
3255
#. type: textblock
3190
#: dh_installdocs:44
3192
"Note that debian/README.debian is also installed as README.Debian, and "
3193
"debian/TODO will be installed as TODO.Debian in non-native packages."
3197
3256
#: dh_installdocs:47
3258
"These files are installed into the first binary package listed in "
3263
#: dh_installdocs:50
3265
"Note that F<README.debian> files are also installed as F<README.Debian>, and "
3266
"F<TODO> files will be installed as F<TODO.Debian> in non-native packages."
3270
#: dh_installdocs:53
3198
3271
msgid "debian/I<package>.doc-base"
3201
3274
#. type: textblock
3202
#: dh_installdocs:49
3275
#: dh_installdocs:55
3204
3277
"Installed as doc-base control files. Note that the doc-id will be determined "
3205
"from the \"Document:\" entry in the doc-base control file in question."
3278
"from the B<Document:> entry in the doc-base control file in question."
3209
#: dh_installdocs:53
3282
#: dh_installdocs:59
3210
3283
msgid "debian/I<package>.doc-base.*"
3213
3286
#. type: textblock
3214
#: dh_installdocs:55
3287
#: dh_installdocs:61
3216
3289
"If your package needs to register more than one document, you need multiple "
3217
3290
"doc-base files, and can name them like this."
3220
3293
#. type: textblock
3221
#: dh_installdocs:66 dh_installinfo:37 dh_installman:66
3294
#: dh_installdocs:72 dh_installinfo:37 dh_installman:66
3223
3296
"Install all files specified by command line parameters in ALL packages acted "
3227
3300
#. type: textblock
3228
#: dh_installdocs:71
3301
#: dh_installdocs:77
3230
"Exclude files that contain \"item\" anywhere in their filename from being "
3303
"Exclude files that contain I<item> anywhere in their filename from being "
3231
3304
"installed. Note that this includes doc-base files."
3235
#: dh_installdocs:74
3308
#: dh_installdocs:80
3236
3309
msgid "B<--link-doc=>I<package>"
3239
3312
#. type: textblock
3240
#: dh_installdocs:76
3313
#: dh_installdocs:82
3242
3315
"Make the documentation directory of all packages acted on be a symlink to "
3243
3316
"the documentation directory of I<package>. This has no effect when acting on "
3249
3322
#. type: textblock
3250
#: dh_installdocs:82
3323
#: dh_installdocs:88
3252
3325
"debhelper will try to avoid installing files into linked documentation "
3253
3326
"directories that would cause conflicts with the linked package. The B<-A> "
3254
3327
"option will have no effect on packages with linked documentation "
3255
"directories, and copyright, changelog, README.Debian, and TODO files will "
3328
"directories, and F<copyright>, F<changelog>, F<README.Debian>, and F<TODO> "
3329
"files will not be installed."
3259
3332
#. type: textblock
3260
#: dh_installdocs:88
3333
#: dh_installdocs:94
3262
3335
"(An older method to accomplish the same thing, which is still supported, is "
3263
3336
"to make the documentation directory of a package be a dangling symlink, "
3264
"before calling dh_installdocs.)"
3337
"before calling B<dh_installdocs>.)"
3267
3340
#. type: textblock
3268
#: dh_installdocs:94
3341
#: dh_installdocs:100
3270
3343
"Install these files as documentation into the first package acted on. (Or in "
3271
3344
"all packages if B<-A> is specified)."
3274
3347
#. type: textblock
3275
#: dh_installdocs:101
3276
msgid "This is an example of a debian/package.docs file:"
3348
#: dh_installdocs:107
3349
msgid "This is an example of a F<debian/package.docs> file:"
3279
3352
#. type: verbatim
3280
#: dh_installdocs:103
3353
#: dh_installdocs:109
3607
3676
#. type: textblock
3608
3677
#: dh_installinit:58
3610
"Only modify postinst/postrm/prerm scripts, do not actually install any init "
3611
"script, default files, or upstart job. May be useful if the init script or "
3612
"upstart job is shipped and/or installed by upstream in a way that doesn't "
3613
"make it easy to let dh_installinit find it."
3679
"Only modify F<postinst>/F<postrm>/F<prerm> scripts, do not actually install "
3680
"any init script, default files, or upstart job. May be useful if the init "
3681
"script or upstart job is shipped and/or installed by upstream in a way that "
3682
"doesn't make it easy to let B<dh_installinit> find it."
3616
3685
#. type: textblock
3617
3686
#: dh_installinit:63
3619
3688
"If no upstart job file is installed in the target directory when "
3620
"dh_installinit --onlyscripts is called, this program will assume that an "
3689
"B<dh_installinit --onlyscripts> is called, this program will assume that an "
3621
3690
"init script is being installed and not provide the compatibility symlinks or "
3622
3691
"upstart dependencies."
3674
3743
#. type: textblock
3675
3744
#: dh_installinit:90
3677
"Remove trailing \"d\" from the name of the package, and use the result for "
3678
"the filename the upstart job file is installed as in etc/init/ , or for the "
3679
"filename the init script is installed as in etc/init.d and the default file "
3680
"is installed as in etc/default/ . This may be useful for daemons with names "
3681
"ending in \"d\". (Note: this takes precedence over the --init-script "
3682
"parameter described below.)"
3746
"Remove trailing B<d> from the name of the package, and use the result for "
3747
"the filename the upstart job file is installed as in F<etc/init/> , or for "
3748
"the filename the init script is installed as in etc/init.d and the default "
3749
"file is installed as in F<etc/default/> . This may be useful for daemons "
3750
"with names ending in B<d>. (Note: this takes precedence over the "
3751
"B<--init-script> parameter described below.)"
3700
3769
"Install the upstart job file or the init script (and default file) using the "
3701
3770
"filename I<name> instead of the default filename, which is the package "
3702
"name. When this parameter is used, dh_installinit looks for and installs "
3703
"files named debian/package.name.upstart, debian/package.name.init and "
3704
"debian/package.name.default, instead of the usual debian/package.upstart, "
3705
"debian/package.init and debian/package.default."
3771
"name. When this parameter is used, B<dh_installinit> looks for and installs "
3772
"files named F<debian/package.name.upstart>, F<debian/package.name.init> and "
3773
"F<debian/package.name.default>, instead of the usual "
3774
"F<debian/package.upstart>, F<debian/package.init> and "
3775
"F<debian/package.default>."
3713
3783
#. type: textblock
3714
3784
#: dh_installinit:115
3716
"Use \"scriptname\" as the filename the init script is installed as in "
3717
"etc/init.d/ (and also use it as the filename for the defaults file, if it is "
3718
"installed). If you use this parameter, dh_installinit will look to see if a "
3719
"file in the debian/ directory exists that looks like \"package.scriptname\" "
3720
"and if so will install it as the init script in preference to the files it "
3721
"normally installs."
3786
"Use I<scriptname> as the filename the init script is installed as in "
3787
"F<etc/init.d/> (and also use it as the filename for the defaults file, if it "
3788
"is installed). If you use this parameter, B<dh_installinit> will look to see "
3789
"if a file in the F<debian/> directory exists that looks like "
3790
"F<package.scriptname> and if so will install it as the init script in "
3791
"preference to the files it normally installs."
3724
3794
#. type: textblock
3725
3795
#: dh_installinit:122
3727
"This parameter is deprecated, use the --name parameter instead. This "
3797
"This parameter is deprecated, use the B<--name> parameter instead. This "
3728
3798
"parameter will be ignored completely for upstart jobs."
3855
3925
#. type: textblock
3856
3926
#: dh_installlogrotate:18
3858
"dh_installlogrotate is a debhelper program that is responsible for "
3859
"installing logrotate config files into etc/logrotate.d in package build "
3860
"directories. Files named debian/package.logrotate are installed."
3928
"B<dh_installlogrotate> is a debhelper program that is responsible for "
3929
"installing logrotate config files into F<etc/logrotate.d> in package build "
3930
"directories. Files named F<debian/package.logrotate> are installed."
3863
3933
#. type: textblock
3864
3934
#: dh_installlogrotate:28
3866
"Look for files named debian/package.name.logrotate and install them as "
3867
"etc/logrotate.d/name, instead of using the usual files and installing them "
3868
"as the package name."
3936
"Look for files named F<debian/package.name.logrotate> and install them as "
3937
"F<etc/logrotate.d/name>, instead of using the usual files and installing "
3938
"them as the package name."
3871
3941
#. type: textblock
3876
3946
#. type: textblock
3877
3947
#: dh_installman:15
3878
msgid "B<dh_installman> [S<I<debhelper options>>] [S<I<manpage ...>>]"
3948
msgid "B<dh_installman> [S<I<debhelper options>>] [S<I<manpage> ...>]"
3881
3951
#. type: textblock
3882
3952
#: dh_installman:19
3884
"dh_installman is a debhelper program that handles installing man pages into "
3885
"the correct locations in package build directories. You tell it what man "
3886
"pages go in your packages, and it figures out where to install them based on "
3887
"the section field in their .TH line. If you have a properly formatted .TH "
3888
"line, your man page will be installed into the right directory, with the "
3889
"right name (this includes proper handling of pages with a subsection, like "
3890
"\"3perl\", which are placed in man3, and given an extension of "
3891
"\".3perl\"). If your .TH line is incorrect or missing, the program may guess "
3892
"wrong based on the file extension."
3954
"B<dh_installman> is a debhelper program that handles installing man pages "
3955
"into the correct locations in package build directories. You tell it what "
3956
"man pages go in your packages, and it figures out where to install them "
3957
"based on the section field in their B<.TH> line. If you have a properly "
3958
"formatted B<.TH> line, your man page will be installed into the right "
3959
"directory, with the right name (this includes proper handling of pages with "
3960
"a subsection, like B<3perl>, which are placed in F<man3>, and given an "
3961
"extension of F<.3perl>). If your B<.TH> line is incorrect or missing, the "
3962
"program may guess wrong based on the file extension."
3895
3965
#. type: textblock
3896
3966
#: dh_installman:29
3898
"It also supports translated man pages, by looking for extensions like .ll.8 "
3899
"and .ll_LL.8, or by use of the --language switch."
3968
"It also supports translated man pages, by looking for extensions like "
3969
"F<.ll.8> and F<.ll_LL.8>, or by use of the B<--language> switch."
3902
3972
#. type: textblock
3903
3973
#: dh_installman:32
3905
"If dh_installman seems to install a man page into the wrong section or with "
3906
"the wrong extension, this is because the man page has the wrong section "
3907
"listed in its .TH line. Edit the man page and correct the section, and "
3908
"dh_installman will follow suit. See L<man(7)> for details about the .TH "
3909
"section. If dh_installman seems to install a man page into a directory like "
3910
"/usr/share/man/pl/man1/, that is because your program has a name like "
3911
"\"foo.pl\", and dh_installman assumes that means it is translated into "
3912
"Polish. Use --language=C to avoid this."
3975
"If B<dh_installman> seems to install a man page into the wrong section or "
3976
"with the wrong extension, this is because the man page has the wrong section "
3977
"listed in its B<.TH> line. Edit the man page and correct the section, and "
3978
"B<dh_installman> will follow suit. See L<man(7)> for details about the "
3979
"B<.TH> section. If B<dh_installman> seems to install a man page into a "
3980
"directory like F</usr/share/man/pl/man1/>, that is because your program has "
3981
"a name like F<foo.pl>, and B<dh_installman> assumes that means it is "
3982
"translated into Polish. Use B<--language=C> to avoid this."
3915
3985
#. type: textblock
3916
3986
#: dh_installman:41
3918
"After the man page installation step, dh_installman will check to see if any "
3919
"of the man pages in the temporary directories of any of the packages it is "
3920
"acting on contain \".so\" links. If so, it changes them to symlinks."
3988
"After the man page installation step, B<dh_installman> will check to see if "
3989
"any of the man pages in the temporary directories of any of the packages it "
3990
"is acting on contain F<.so> links. If so, it changes them to symlinks."
3923
3993
#. type: textblock
3924
3994
#: dh_installman:45
3926
"Also, dh_installman will use man to guess the character encoding of each "
3996
"Also, B<dh_installman> will use man to guess the character encoding of each "
3927
3997
"manual page and convert it to UTF-8. If the guesswork fails for some reason, "
3928
3998
"you can override it using an encoding declaration. See L<manconv(1)> for "
4434
4508
"Before calling this program, you should have installed any X fonts provided "
4435
4509
"by your package into the appropriate location in the package build "
4436
"directory, and if you have fonts.alias or fonts.scale files, you should "
4437
"install them into the correct location under etc/X11/fonts in your package "
4510
"directory, and if you have F<fonts.alias> or F<fonts.scale> files, you "
4511
"should install them into the correct location under F<etc/X11/fonts> in your "
4512
"package build directory."
4441
4515
#. type: textblock
4442
4516
#: dh_installxfonts:28
4444
"Your package should depend on xfonts-utils so that the update-fonts-* "
4445
"commands are available. (This program adds that dependency to "
4518
"Your package should depend on B<xfonts-utils> so that the "
4519
"B<update-fonts->I<*> commands are available. (This program adds that "
4520
"dependency to B<${misc:Depends}>.)"
4449
4523
#. type: textblock
4450
4524
#: dh_installxfonts:32
4452
"This program automatically generates the postinst and postrm commands needed "
4453
"to register X fonts. These commands are inserted into the maintainer scripts "
4454
"by dh_installdeb. See L<dh_installdeb(1)> for an explanation of how this "
4526
"This program automatically generates the F<postinst> and F<postrm> commands "
4527
"needed to register X fonts. These commands are inserted into the maintainer "
4528
"scripts by B<dh_installdeb>. See L<dh_installdeb(1)> for an explanation of "
4458
4532
#. type: textblock
4734
4808
"By default, the shlibs file generated by this program does not make packages "
4735
4809
"depend on any particular version of the package containing the shared "
4736
4810
"library. It may be necessary for you to add some version dependancy "
4737
"information to the shlibs file. If -V is specified with no dependency "
4811
"information to the shlibs file. If B<-V> is specified with no dependency "
4738
4812
"information, the current upstream version of the package is plugged into a "
4739
"dependency that looks like \"packagename (>= packageversion)\". Note that in "
4740
"debhelper compatibility levels before v4, the debian part of the package "
4741
"version number is also included. If -V is specified with parameters, the "
4742
"parameters can be used to specify the exact dependency information needed "
4743
"(be sure to include the package name)."
4813
"dependency that looks like \"I<packagename> B<(=E<gt>> "
4814
"I<packageversion>B<)>\". Note that in debhelper compatibility levels before "
4815
"v4, the Debian part of the package version number is also included. If B<-V> "
4816
"is specified with parameters, the parameters can be used to specify the "
4817
"exact dependency information needed (be sure to include the package name)."
4746
4820
#. type: textblock
4747
4821
#: dh_makeshlibs:64
4749
"Beware of using -V without any parameters; this is a conservative setting "
4823
"Beware of using B<-V> without any parameters; this is a conservative setting "
4750
4824
"that always ensures that other packages' shared library dependencies are at "
4751
4825
"least as tight as they need to be (unless your library is prone to changing "
4752
4826
"ABI without updating the upstream version number), so that if the maintainer "
4883
4958
#: dh_movefiles:14
4885
4960
"B<dh_movefiles> [S<I<debhelper options>>] [B<--sourcedir=>I<dir>] "
4886
"[B<-X>I<item>] S<I<file ...>>]"
4961
"[B<-X>I<item>] S<I<file> ...>]"
4889
4964
#. type: textblock
4890
4965
#: dh_movefiles:18
4892
"dh_movefiles is a debhelper program that is responsible for moving files out "
4893
"of debian/tmp or some other directory and into other package build "
4894
"directories. This may be useful if your package has a Makefile that installs "
4895
"everything into debian/tmp, and you need to break that up into subpackages."
4967
"B<dh_movefiles> is a debhelper program that is responsible for moving files "
4968
"out of F<debian/tmp> or some other directory and into other package build "
4969
"directories. This may be useful if your package has a F<Makefile> that "
4970
"installs everything into F<debian/tmp>, and you need to break that up into "
4898
4974
#. type: textblock
4899
4975
#: dh_movefiles:23
4901
"Note: dh_install is a much better program, and you are recommended to use it "
4902
"instead of dh_movefiles."
4977
"Note: B<dh_install> is a much better program, and you are recommended to use "
4978
"it instead of B<dh_movefiles>."
4911
4987
#: dh_movefiles:32
4913
4989
"Lists the files to be moved into a package, separated by whitespace. The "
4914
"filenames listed should be relative to debian/tmp/. You can also list "
4990
"filenames listed should be relative to F<debian/tmp/>. You can also list "
4915
4991
"directory names, and the whole directory will be moved."
4920
msgid "B<--sourcedir=>I<dir>"
4923
4994
#. type: textblock
4924
4995
#: dh_movefiles:44
4926
"Instead of moving files out of debian/tmp (the default), this option makes "
4927
"it move files out of some other directory. Since the entire contents of the "
4928
"sourcedir is moved, specifying something like --sourcedir=/ is very unsafe, "
4929
"so to prevent mistakes, the sourcedir must be a relative filename; it cannot "
4997
"Instead of moving files out of F<debian/tmp> (the default), this option "
4998
"makes it move files out of some other directory. Since the entire contents "
4999
"of the sourcedir is moved, specifying something like B<--sourcedir=/> is "
5000
"very unsafe, so to prevent mistakes, the sourcedir must be a relative "
5001
"filename; it cannot begin with a `B</>'."
5006
msgid "B<-Xitem>, B<--exclude=item>"
5012
"Exclude files that contain B<item> anywhere in their filename from being "
4933
5016
#. type: textblock
4934
5017
#: dh_movefiles:57
4936
5019
"Lists files to move. The filenames listed should be relative to "
4937
"debian/tmp/. You can also list directory names, and the whole directory will "
4938
"be moved. It is an error to list files here unless you use -p, -i, or -a to "
4939
"tell dh_movefiles which subpackage to put them in."
5020
"F<debian/tmp/>. You can also list directory names, and the whole directory "
5021
"will be moved. It is an error to list files here unless you use B<-p>, "
5022
"B<-i>, or B<-a> to tell B<dh_movefiles> which subpackage to put them in."
4942
5025
#. type: textblock
4943
5026
#: dh_movefiles:66
4945
"Note that files are always moved out of debian/tmp by default (even if you "
4946
"have instructed debhelper to use a compatibility level higher than one, "
5028
"Note that files are always moved out of F<debian/tmp> by default (even if "
5029
"you have instructed debhelper to use a compatibility level higher than one, "
4947
5030
"which does not otherwise use debian/tmp for anything at all). The idea "
4948
5031
"behind this is that the package that is being built can be told to install "
4949
"into debian/tmp, and then files can be moved by dh_movefiles from that "
5032
"into F<debian/tmp>, and then files can be moved by B<dh_movefiles> from that "
4950
5033
"directory. Any files or directories that remain are ignored, and get deleted "
4951
"by dh_clean later."
5034
"by B<dh_clean> later."
4954
5037
#. type: textblock
4956
msgid "dh_perl - calculates perl dependencies and cleans up after MakeMaker"
5039
msgid "dh_perl - calculates Perl dependencies and cleans up after MakeMaker"
4959
5042
#. type: textblock
4961
msgid "B<dh_perl> [S<I<debhelper options>>] [B<-d>] [S<I<library dirs ...>>]"
5044
msgid "B<dh_perl> [S<I<debhelper options>>] [B<-d>] [S<I<library dirs> ...>]"
4964
5047
#. type: textblock
4967
"dh_perl is a debhelper program that is responsible for generating the "
4968
"${perl:Depends} substitutions and adding them to substvars files."
5050
"B<dh_perl> is a debhelper program that is responsible for generating the "
5051
"B<${perl:Depends}> substitutions and adding them to substvars files."
4971
5054
#. type: textblock
4974
"The program will look at perl scripts and modules in your package, and will "
4975
"use this information to generate a dependency on perl or perlapi. The "
4976
"dependency will be substituted into your package's control file wherever you "
4977
"place the token \"${perl:Depends}\"."
5057
"The program will look at Perl scripts and modules in your package, and will "
5058
"use this information to generate a dependency on B<perl> or B<perlapi>. The "
5059
"dependency will be substituted into your package's F<control> file wherever "
5060
"you place the token B<${perl:Depends}>."
4980
5063
#. type: textblock
4983
"dh_perl also cleans up empty directories that MakeMaker can generate when "
4984
"installing perl modules."
5066
"B<dh_perl> also cleans up empty directories that MakeMaker can generate when "
5067
"installing Perl modules."
4992
5075
#. type: textblock
4995
"In some specific cases you may want to depend on perl-base rather than the "
4996
"full perl package. If so, you can pass the -d option to make dh_perl "
4997
"generate a dependency on the correct base package. This is only necessary "
4998
"for some packages that are included in the base system."
5078
"In some specific cases you may want to depend on B<perl-base> rather than "
5079
"the full B<perl> package. If so, you can pass the -d option to make "
5080
"B<dh_perl> generate a dependency on the correct base package. This is only "
5081
"necessary for some packages that are included in the base system."
5001
5084
#. type: textblock
5004
"Note that this flag may cause no dependency on perl-base to be generated at "
5005
"all. perl-base is Essential, so its dependency can be left out, unless a "
5006
"versioned dependency is needed."
5087
"Note that this flag may cause no dependency on B<perl-base> to be generated "
5088
"at all. B<perl-base> is Essential, so its dependency can be left out, unless "
5089
"a versioned dependency is needed."
5061
5144
#. type: textblock
5064
"dh_prep is a debhelper program that performs some file cleanups in "
5065
"preparation for building a binary package. (This is what dh_clean -k used to "
5066
"do.) It removes the package build directories, debian/tmp, and some temp "
5067
"files that are generated when building a binary package."
5147
"B<dh_prep> is a debhelper program that performs some file cleanups in "
5148
"preparation for building a binary package. (This is what B<dh_clean -k> used "
5149
"to do.) It removes the package build directories, F<debian/tmp>, and some "
5150
"temp files that are generated when building a binary package."
5070
5153
#. type: textblock
5073
"It is typically run at the top of the binary-arch and binary-indep targets, "
5074
"or at the top of a target such as install that they depend on."
5156
"It is typically run at the top of the B<binary-arch> and B<binary-indep> "
5157
"targets, or at the top of a target such as install that they depend on."
5163
"Exclude files that contain F<item> anywhere in their filename from being "
5164
"deleted, even if they would normally be deleted. You may use this option "
5165
"multiple times to build up a list of things to exclude."
5077
5168
#. type: textblock
5080
"dh_python - calculates python dependencies and adds postinst and prerm "
5081
"python scripts (deprecated)"
5171
"dh_python - calculates Python dependencies and adds postinst and prerm "
5172
"Python scripts (deprecated)"
5084
5175
#. type: textblock
5085
5176
#: dh_python:15
5087
5178
"B<dh_python> [S<I<debhelper options>>] [B<-n>] [B<-V> I<version>] "
5088
"[S<I<module dirs ...>>]"
5179
"[S<I<module dirs> ...>]"
5091
5182
#. type: textblock
5092
5183
#: dh_python:19
5094
"Note: This program is deprecated. You should use dh_pysupport or "
5095
"dh_pycentral instead. This program will do nothing if debian/pycompat or a "
5096
"Python-Version control file field exists."
5185
"Note: This program is deprecated. You should use B<dh_pysupport> or "
5186
"B<dh_pycentral> instead. This program will do nothing if F<debian/pycompat> "
5187
"or a B<Python-Version> F<control> file field exists."
5099
5190
#. type: textblock
5100
5191
#: dh_python:23
5102
"dh_python is a debhelper program that is responsible for generating the "
5103
"${python:Depends} substitutions and adding them to substvars files. It will "
5104
"also add a postinst and a prerm script if required."
5193
"B<dh_python> is a debhelper program that is responsible for generating the "
5194
"B<${python:Depends}> substitutions and adding them to substvars files. It "
5195
"will also add a F<postinst> and a F<prerm> script if required."
5107
5198
#. type: textblock
5108
5199
#: dh_python:27
5110
"The program will look at python scripts and modules in your package, and "
5111
"will use this information to generate a dependency on python, with the "
5112
"current major version, or on pythonX.Y if your scripts or modules need a "
5113
"specific python version. The dependency will be substituted into your "
5114
"package's control file wherever you place the token \"${python:Depends}\"."
5201
"The program will look at Python scripts and modules in your package, and "
5202
"will use this information to generate a dependency on B<python>, with the "
5203
"current major version, or on B<python>I<X>B<.>I<Y> if your scripts or "
5204
"modules need a specific B<python> version. The dependency will be "
5205
"substituted into your package's F<control> file wherever you place the token "
5206
"B<${python:Depends}>."
5117
5209
#. type: textblock
5118
5210
#: dh_python:33
5120
5212
"If some modules need to be byte-compiled at install time, appropriate "
5121
"postinst and prerm scripts will be generated. If already byte-compiled "
5213
"F<postinst> and F<prerm> scripts will be generated. If already byte-compiled "
5122
5214
"modules are found, they are removed."
5125
5217
#. type: textblock
5126
5218
#: dh_python:37
5127
msgid "If you use this program, your package should build-depend on python."
5219
msgid "If you use this program, your package should build-depend on B<python>."
5135
5227
#. type: textblock
5136
5228
#: dh_python:45
5138
"If your package installs python modules in non-standard directories, you can "
5139
"make dh_python check those directories by passing their names on the command "
5140
"line. By default, it will check /usr/lib/site-python, /usr/lib/$PACKAGE, "
5141
"/usr/share/$PACKAGE, /usr/lib/games/$PACKAGE, /usr/share/games/$PACKAGE and "
5142
"/usr/lib/python?.?/site-packages."
5230
"If your package installs Python modules in non-standard directories, you can "
5231
"make F<dh_python> check those directories by passing their names on the "
5232
"command line. By default, it will check F</usr/lib/site-python, "
5233
"/usr/lib/$PACKAGE>, F</usr/share/$PACKAGE>, F</usr/lib/games/$PACKAGE>, "
5234
"F</usr/share/games/$PACKAGE> and F</usr/lib/python?.?/site-packages>."
5145
5237
#. type: textblock
5146
5238
#: dh_python:51
5148
"Note: only /usr/lib/site-python, /usr/lib/python?.?/site-packages and the "
5149
"extra names on the command line are searched for binary (.so) modules."
5240
"Note: only F</usr/lib/site-python>, F</usr/lib/python?.?/site-packages> and "
5241
"the extra names on the command line are searched for binary (F<.so>) "
5223
5317
#: dh_shlibdeps:22
5225
5319
"This program is merely a wrapper around L<dpkg-shlibdeps(1)> that calls it "
5226
"once for each package listed in the control file, passing it a list of ELF "
5227
"executables and shared libraries it has found."
5320
"once for each package listed in the F<control> file, passing it a list of "
5321
"ELF executables and shared libraries it has found."
5230
5324
#. type: textblock
5231
5325
#: dh_shlibdeps:32
5233
"Exclude files that contain \"item\" anywhere in their filename from being "
5234
"passed to dpkg-shlibdeps. This will make their dependencies be ignored. "
5327
"Exclude files that contain F<item> anywhere in their filename from being "
5328
"passed to B<dpkg-shlibdeps>. This will make their dependencies be ignored. "
5235
5329
"This may be useful in some situations, but use it with caution. This option "
5236
5330
"may be used more than once to exclude more than one thing."
5239
5333
#. type: textblock
5240
5334
#: dh_shlibdeps:39
5241
msgid "Pass \"params\" to L<dpkg-shlibdeps(1)>."
5335
msgid "Pass I<params> to L<dpkg-shlibdeps(1)>."
5246
5340
msgid "B<-u>I<params>, B<--dpkg-shlibdeps-params=>I<params>"
5346
"This is another way to pass I<params> to L<dpkg-shlibdeps(1)>. It is "
5347
"deprecated; use B<--> instead."
5250
5351
#: dh_shlibdeps:46
5251
msgid "B<-l>I<directory>[:directory:directory:..]"
5352
msgid "B<-l>I<directory>[B<:>I<directory> ...]"
5254
5355
#. type: textblock
5255
5356
#: dh_shlibdeps:48
5256
msgid "With recent versions of dpkg-shlibdeps, this option is generally not needed."
5358
"With recent versions of B<dpkg-shlibdeps>, this option is generally not "
5259
5362
#. type: textblock
5260
5363
#: dh_shlibdeps:51
5262
"Before dpkg-shlibdeps is run, LD_LIBRARY_PATH will have added to it the "
5263
"specified directory (or directories -- separate with colons). With recent "
5264
"versions of dpkg-shlibdeps, this is mostly only useful for packages that "
5265
"build multiple flavors of the same library, or other situations where the "
5266
"library is installed into a directory not on the regular library search "
5365
"Before B<dpkg-shlibdeps> is run, B<LD_LIBRARY_PATH> will have added to it "
5366
"the specified directory (or directories -- separate with colons). With "
5367
"recent versions of B<dpkg-shlibdeps>, this is mostly only useful for "
5368
"packages that build multiple flavors of the same library, or other "
5369
"situations where the library is installed into a directory not on the "
5370
"regular library search path."
5275
5378
#. type: textblock
5276
5379
#: dh_shlibdeps:60
5278
"With recent versions of dpkg-shlibdeps, this option is generally not needed, "
5279
"unless your package builds multiple flavors of the same library."
5381
"With recent versions of B<dpkg-shlibdeps>, this option is generally not "
5382
"needed, unless your package builds multiple flavors of the same library."
5282
5385
#. type: textblock
5283
5386
#: dh_shlibdeps:63
5285
"It tells dpkg-shlibdeps (via its -S parameter) to look first in the package "
5286
"build directory for the specified package, when searching for libraries, "
5287
"symbol files, and shlibs files."
5388
"It tells B<dpkg-shlibdeps> (via its B<-S> parameter) to look first in the "
5389
"package build directory for the specified package, when searching for "
5390
"libraries, symbol files, and shlibs files."
5290
5393
#. type: textblock
5361
5464
"This program examines your package build directories and works out what to "
5362
5465
"strip on its own. It uses L<file(1)> and file permissions and filenames to "
5363
"figure out what files are shared libraries (*.so), executable binaries, and "
5364
"static (lib*.a) and debugging libraries (lib*_g.a, debug/*.so), and strips "
5365
"each as much as is possible. (Which is not at all for debugging libraries.) "
5366
"In general it seems to make very good guesses, and will do the right thing "
5367
"in almost all cases."
5466
"figure out what files are shared libraries (F<*.so>), executable binaries, "
5467
"and static (F<lib*.a>) and debugging libraries (F<lib*_g.a>, F<debug/*.so>), "
5468
"and strips each as much as is possible. (Which is not at all for debugging "
5469
"libraries.) In general it seems to make very good guesses, and will do the "
5470
"right thing in almost all cases."
5370
5473
#. type: textblock
5373
5476
"Since it is very hard to automatically guess if a file is a module, and hard "
5374
"to determine how to strip a module, dh_strip does not currently deal with "
5375
"stripping binary modules such as .o files."
5477
"to determine how to strip a module, B<dh_strip> does not currently deal with "
5478
"stripping binary modules such as F<.o> files."
5378
5481
#. type: textblock
5381
"Exclude files that contain \"item\" anywhere in their filename from being "
5484
"Exclude files that contain I<item> anywhere in their filename from being "
5382
5485
"stripped. You may use this option multiple times to build up a list of "
5383
5486
"things to exclude."
5557
5661
#. type: textblock
5558
5662
#: dh_usrlocal:21
5560
"dh_usrlocal is a debhelper program that can be used for building packages "
5561
"that will provide a subdirectory in /usr/local when installed."
5664
"B<dh_usrlocal> is a debhelper program that can be used for building packages "
5665
"that will provide a subdirectory in F</usr/local> when installed."
5564
5668
#. type: textblock
5565
5669
#: dh_usrlocal:24
5567
"It finds subdirectories of usr/local in the package build directory, and "
5671
"It finds subdirectories of F<usr/local> in the package build directory, and "
5568
5672
"removes them, replacing them with maintainer script snippets (unless B<-n> "
5569
5673
"is used) to create the directories at install time, and remove them when the "
5570
5674
"package is removed, in a manner compliant with Debian policy. These snippets "
5571
"are inserted into the maintainer scripts by dh_installdeb. See "
5572
"L<dh_installdeb(1)> for an explanation of Debhelper maintainer script "
5675
"are inserted into the maintainer scripts by B<dh_installdeb>. See "
5676
"L<dh_installdeb(1)> for an explanation of debhelper maintainer script "