| 491 |
<systemitem role="package">maint-guide</systemitem> package using |
<systemitem role="package">maint-guide</systemitem> package using |
| 492 |
<command>reportbug</command>. |
<command>reportbug</command>. |
| 493 |
</para> |
</para> |
| 494 |
|
<para> |
| 495 |
|
The following is an alternative tutorial documentation which you may |
| 496 |
|
read along with this document: |
| 497 |
|
</para> |
| 498 |
|
<itemizedlist> |
| 499 |
|
<listitem><para><ulink url="&debpkg-tutorial0;">Debian Packaging Tutorial</ulink></para></listitem> |
| 500 |
|
<listitem><para><ulink url="&debpkg-tutorial1;">Practical session 1: Modifying the grep package</ulink></para></listitem> |
| 501 |
|
<listitem><para><ulink url="&debpkg-tutorial2;">Practical session 2: Packaging GNUjump</ulink></para></listitem> |
| 502 |
|
<listitem><para><ulink url="&debpkg-tutorial3;">Practical session 3: Packaging a Java library</ulink></para></listitem> |
| 503 |
|
</itemizedlist> |
| 504 |
</section> |
</section> |
| 505 |
<section id="helpme"><title>Where to ask for help</title> |
<section id="helpme"><title>Where to ask for help</title> |
| 506 |
<para> |
<para> |
| 1091 |
<para> |
<para> |
| 1092 |
You can change many things in the <filename>Makefile</filename>; for |
You can change many things in the <filename>Makefile</filename>; for |
| 1093 |
instance you can change the default location for file installation |
instance you can change the default location for file installation |
| 1094 |
using the option <command>./configure --prefix=/usr</command>. |
using the option <literal>./configure --prefix=/usr</literal>. |
| 1095 |
</para> |
</para> |
| 1096 |
<para> |
<para> |
| 1097 |
Although it is not required, updating the <filename>configure</filename> and |
Although it is not required, updating the <filename>configure</filename> and |
| 1185 |
<para> |
<para> |
| 1186 |
If upstream does not use a normal versioning scheme such as |
If upstream does not use a normal versioning scheme such as |
| 1187 |
<literal>2.30.32</literal> but uses some kind of date such as |
<literal>2.30.32</literal> but uses some kind of date such as |
| 1188 |
<literal>09Oct23</literal>, a random codename string, or a VCS hash value as part |
<literal>11Apr29</literal>, a random codename string, or a VCS hash value as part |
| 1189 |
of the version, make sure to remove them from the |
of the version, make sure to remove them from the |
| 1190 |
<emphasis role="strong">upstream version</emphasis>. Such information can be |
<emphasis role="strong">upstream version</emphasis>. Such information can be |
| 1191 |
recorded in the <filename>debian/changelog</filename> file. If you need to |
recorded in the <filename>debian/changelog</filename> file. If you need to |
| 1192 |
invent a version string, use the <literal>YYYYMMDD</literal> format such as |
invent a version string, use the <literal>YYYYMMDD</literal> format such as |
| 1193 |
<literal>20110429</literal> as upstream version. This ensures that |
<literal>20110429</literal> as upstream version. This ensures that |
| 1194 |
<command>dpkg</command> interprets later versions correctly as upgrades. |
<command>dpkg</command> interprets later versions correctly as upgrades. |
| 1195 |
|
If you need to ensure smooth transition to the normal version scheme such as |
| 1196 |
|
<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format |
| 1197 |
|
such as <literal>0~110429</literal> as upstream version, instead. |
| 1198 |
</para> |
</para> |
| 1199 |
<para> |
<para> |
| 1200 |
Version strings <footnote><para>Version strings may be |
Version strings <footnote><para>Version strings may be |
| 2401 |
<section id="targets"><title>Targets of the <filename>rules</filename> file</title> |
<section id="targets"><title>Targets of the <filename>rules</filename> file</title> |
| 2402 |
<para> |
<para> |
| 2403 |
Every <filename>rules</filename> file, like any other |
Every <filename>rules</filename> file, like any other |
| 2404 |
<filename>Makefile</filename>, consists of several targets and their rules. |
<filename>Makefile</filename>, consists of several rules, each of |
| 2405 |
|
which defines a target and how it is carried out. |
| 2406 |
<footnote><para>You can start learning how to write <filename>Makefile</filename> from |
<footnote><para>You can start learning how to write <filename>Makefile</filename> from |
| 2407 |
<ulink url="&debref-make;">Debian Reference, 12.2. "Make"</ulink>. |
<ulink url="&debref-make;">Debian Reference, 12.2. "Make"</ulink>. |
| 2408 |
The full documentation is available as |
The full documentation is available as |
| 2410 |
<systemitem role="package">make-doc</systemitem> package in the <literal>non-free</literal> archive area. |
<systemitem role="package">make-doc</systemitem> package in the <literal>non-free</literal> archive area. |
| 2411 |
</para></footnote> |
</para></footnote> |
| 2412 |
A new rule begins with its target declaration in the first column. The |
A new rule begins with its target declaration in the first column. The |
| 2413 |
following lines beginning with the TAB code (ASCII 9) specify its rules. |
following lines beginning with the TAB code (ASCII 9) specify the recipe for |
| 2414 |
|
carrying out that target. |
| 2415 |
Empty lines and lines beginning with <literal>#</literal> (hash) are treated as |
Empty lines and lines beginning with <literal>#</literal> (hash) are treated as |
| 2416 |
comments and ignored. |
comments and ignored. |
| 2417 |
<footnote><para><ulink url="&policy-debianrules;">Debian |
<footnote><para><ulink url="&policy-debianrules;">Debian |
| 2740 |
The <literal>dh $@</literal> command can be customized as follows. |
The <literal>dh $@</literal> command can be customized as follows. |
| 2741 |
<footnote><para> If a package installs the |
<footnote><para> If a package installs the |
| 2742 |
<filename>/usr/share/perl5/Debian/Debhelper/Sequence/<replaceable>custom_name</replaceable>.pm</filename> |
<filename>/usr/share/perl5/Debian/Debhelper/Sequence/<replaceable>custom_name</replaceable>.pm</filename> |
| 2743 |
file, you should activate its customization function by <literal>dh --with |
file, you should activate its customization function by <literal>dh $@ --with |
| 2744 |
<replaceable>custom-name</replaceable> $@</literal>. </para> </footnote> |
<replaceable>custom-name</replaceable></literal>. </para> </footnote> |
| 2745 |
</para> |
</para> |
| 2746 |
<itemizedlist> |
<itemizedlist> |
| 2747 |
<listitem> |
<listitem> |
| 2783 |
</listitem> |
</listitem> |
| 2784 |
<listitem> |
<listitem> |
| 2785 |
<para> |
<para> |
| 2786 |
Use <literal>dh --with python-central $@</literal> instead. |
Use <literal>dh $@ --with python-central</literal> instead. |
| 2787 |
</para> |
</para> |
| 2788 |
</listitem> |
</listitem> |
| 2789 |
<listitem> |
<listitem> |
| 2811 |
</listitem> |
</listitem> |
| 2812 |
<listitem> |
<listitem> |
| 2813 |
<para> |
<para> |
| 2814 |
Use <literal>dh --with tex $@</literal> instead. |
Use <literal>dh $@ --with tex</literal> instead. |
| 2815 |
</para> |
</para> |
| 2816 |
</listitem> |
</listitem> |
| 2817 |
<listitem> |
<listitem> |
| 2835 |
</listitem> |
</listitem> |
| 2836 |
<listitem> |
<listitem> |
| 2837 |
<para> |
<para> |
| 2838 |
Use <literal>dh --with quilt $@</literal> instead. |
Use <literal>dh $@ --with quilt</literal> instead. |
| 2839 |
</para> |
</para> |
| 2840 |
</listitem> |
</listitem> |
| 2841 |
<listitem> |
<listitem> |
| 2865 |
</listitem> |
</listitem> |
| 2866 |
<listitem> |
<listitem> |
| 2867 |
<para> |
<para> |
| 2868 |
Use <literal>dh --with dkms $@</literal> instead. |
Use <literal>dh $@ --with dkms</literal> instead. |
| 2869 |
</para> |
</para> |
| 2870 |
</listitem> |
</listitem> |
| 2871 |
<listitem> |
<listitem> |
| 2889 |
</listitem> |
</listitem> |
| 2890 |
<listitem> |
<listitem> |
| 2891 |
<para> |
<para> |
| 2892 |
Use <literal>dh --with autotools-dev $@</literal> instead. |
Use <literal>dh $@ --with autotools-dev</literal> instead. |
| 2893 |
</para> |
</para> |
| 2894 |
</listitem> |
</listitem> |
| 2895 |
<listitem> |
<listitem> |
| 2914 |
</listitem> |
</listitem> |
| 2915 |
<listitem> |
<listitem> |
| 2916 |
<para> |
<para> |
| 2917 |
Use <literal>dh --with autoreconf $@</literal> instead. |
Use <literal>dh $@ --with autoreconf</literal> instead. |
| 2918 |
</para> |
</para> |
| 2919 |
</listitem> |
</listitem> |
| 2920 |
<listitem> |
<listitem> |
| 2937 |
</listitem> |
</listitem> |
| 2938 |
<listitem> |
<listitem> |
| 2939 |
<para> |
<para> |
| 2940 |
Use <literal>dh --with bash-completion $@</literal> instead. |
Use <literal>dh $@ --with bash-completion</literal> instead. |
| 2941 |
</para> |
</para> |
| 2942 |
</listitem> |
</listitem> |
| 2943 |
<listitem> |
<listitem> |
| 4576 |
sure that there are no filenames conflicting with other existing packages, |
sure that there are no filenames conflicting with other existing packages, |
| 4577 |
using the |
using the |
| 4578 |
<filename>Contents-<replaceable>i386</replaceable></filename> file downloaded |
<filename>Contents-<replaceable>i386</replaceable></filename> file downloaded |
| 4579 |
from the Debian archive, |
from the Debian archive. |
| 4580 |
The <command>apt-file</command> command may be handy for this task. If there |
The <command>apt-file</command> command may be handy for this task. If there |
| 4581 |
are collisions, please take action to avoid this real problem, whether by |
are collisions, please take action to avoid this real problem, whether by |
| 4582 |
renaming the file, moving a common file to a separate package that |
renaming the file, moving a common file to a separate package that |
| 5271 |
If you want to update the <filename>rules</filename> file created with the |
If you want to update the <filename>rules</filename> file created with the |
| 5272 |
<filename>Makefile</filename> inclusion mechanism of the Common Debian Build |
<filename>Makefile</filename> inclusion mechanism of the Common Debian Build |
| 5273 |
System (<systemitem role="package">cdbs</systemitem>) to the |
System (<systemitem role="package">cdbs</systemitem>) to the |
| 5274 |
<command>dh</command> syntax, see |
<command>dh</command> syntax, see the following to understand its |
| 5275 |
<ulink url="&cdbs-doc;">cdbs-doc.pdf.gz</ulink> and understand its |
<literal>DEB_*</literal> configuration variables. |
| 5276 |
<literal>DEB_*</literal> configuration variables. |
</para> |
| 5277 |
|
<itemizedlist> |
| 5278 |
|
<listitem><para>local copy of <ulink url="&cdbs-doc;">cdbs-doc.pdf.gz</ulink></para></listitem> |
| 5279 |
|
<listitem><para><ulink url="&cdbs-tutorial;">The Common Debian Build System (CDBS), FOSDEM 2009</ulink></para></listitem> |
| 5280 |
|
</itemizedlist> |
| 5281 |
<!-- |
<!-- |
| 5282 |
<footnote><para> In the |
<footnote><para> In the |
| 5283 |
<systemitem role="package">cdbs</systemitem> (0.4.74) package, there are some |
<systemitem role="package">cdbs</systemitem> (0.4.74) package, there are some |
| 5286 |
only for <literal>lenny</literal> which created explicit targets with long lists |
only for <literal>lenny</literal> which created explicit targets with long lists |
| 5287 |
of <command>dh_*</command> commands. </para> </footnote> |
of <command>dh_*</command> commands. </para> </footnote> |
| 5288 |
--> |
--> |
|
</para> |
|
| 5289 |
</listitem> |
</listitem> |
| 5290 |
<listitem> |
<listitem> |
| 5291 |
<para> |
<para> |