diff options
author | rillig <rillig@pkgsrc.org> | 2006-10-21 11:58:18 +0000 |
---|---|---|
committer | rillig <rillig@pkgsrc.org> | 2006-10-21 11:58:18 +0000 |
commit | f38c98f1818bb4896d2533fa044d62594c5a1ee4 (patch) | |
tree | 685acefaa95ca50479ffd5f324ae83b626f94311 | |
parent | 8711fc9d43a3e9c530cf91577b92b2f53b9a0d52 (diff) | |
download | pkgsrc-f38c98f1818bb4896d2533fa044d62594c5a1ee4.tar.gz |
Reindented to have more text per line.
-rw-r--r-- | doc/guide/files/creating.xml | 177 |
1 files changed, 86 insertions, 91 deletions
diff --git a/doc/guide/files/creating.xml b/doc/guide/files/creating.xml index d701fd7ab38..ccda5a5f9ff 100644 --- a/doc/guide/files/creating.xml +++ b/doc/guide/files/creating.xml @@ -1,50 +1,47 @@ -<!-- $NetBSD: creating.xml,v 1.3 2006/10/06 18:12:48 rillig Exp $ --> +<!-- $NetBSD: creating.xml,v 1.4 2006/10/21 11:58:18 rillig Exp $ --> <chapter id="creating"> <title>Creating a new pkgsrc package from scratch</title> - <para>When you find a package that is not yet in pkgsrc, you - most likely have a URL from where you can download the source - code. Starting with this URL, creating a package involves only a - few steps.</para> +<para>When you find a package that is not yet in pkgsrc, you +most likely have a URL from where you can download the source +code. Starting with this URL, creating a package involves only a +few steps.</para> - <procedure> +<procedure> - <step><para>First, install the packages <filename - role="pkg">pkgtools/url2pkg</filename> and <filename - role="pkg">pkgtools/pkglint</filename>.</para></step> +<step><para>First, install the packages <filename +role="pkg">pkgtools/url2pkg</filename> and <filename +role="pkg">pkgtools/pkglint</filename>.</para></step> - <step><para>Then, choose one of the top-level directories as the - category in which you want to place your package. You can also - create a directory of your own (maybe called - <filename>local</filename>). In that category directory, create - another directory for your package and change into - it.</para></step> - - <step><para>Run the program <command>url2pkg</command>, which - will ask you for a URL. Enter the URL of the distribution file - (in most cases a <filename>.tar.gz</filename> file) and watch - how the basic ingredients of your package are created - automatically. The distribution file is extracted automatically - to fill in some details in the <filename>Makefile</filename> - that would otherwise have to be done manually.</para></step> - - <step><para>Examine the extracted files to determine the - dependencies of your package. Ideally, this is mentioned in some - <filename>README</filename> file, but things may differ. For - each of these dependencies, look where it exists in pkgsrc, and - if there is a file called <filename>buildlink3.mk</filename> in - that directory, add a line to your package - <filename>Makefile</filename> which includes that file just - before the last line. If the <filename>buildlink3.mk</filename> - file does not exist, add a <varname>DEPENDS</varname> line to - the Makefile, which specifies the version of the dependency and - where it can be found in pkgsrc. This line should be placed in - the third paragraph. If the dependency is only needed for - building the package, but not when using it, use - <varname>BUILD_DEPENDS</varname> instead of - <varname>DEPENDS</varname>. Your package may then look like - this:</para> +<step><para>Then, choose one of the top-level directories as the +category in which you want to place your package. You can also create a +directory of your own (maybe called <filename>local</filename>). In that +category directory, create another directory for your package and change +into it.</para></step> + +<step><para>Run the program <command>url2pkg</command>, which will ask +you for a URL. Enter the URL of the distribution file (in most cases a +<filename>.tar.gz</filename> file) and watch how the basic ingredients +of your package are created automatically. The distribution file is +extracted automatically to fill in some details in the +<filename>Makefile</filename> that would otherwise have to be done +manually.</para></step> + +<step><para>Examine the extracted files to determine the dependencies of +your package. Ideally, this is mentioned in some +<filename>README</filename> file, but things may differ. For each of +these dependencies, look where it exists in pkgsrc, and if there is a +file called <filename>buildlink3.mk</filename> in that directory, add a +line to your package <filename>Makefile</filename> which includes that +file just before the last line. If the +<filename>buildlink3.mk</filename> file does not exist, add a +<varname>DEPENDS</varname> line to the Makefile, which specifies the +version of the dependency and where it can be found in pkgsrc. This line +should be placed in the third paragraph. If the dependency is only +needed for building the package, but not when using it, use +<varname>BUILD_DEPENDS</varname> instead of <varname>DEPENDS</varname>. +Your package may then look like this:</para> <programlisting> [...] @@ -60,57 +57,55 @@ .include "../../mk/bsd.pkg.mk" </programlisting> - </step> - - <step><para>Run <command>pkglint</command> to see what things - still need to be done to make your package a <quote>good</quote> - one. If you don't know what pkglint's warnings want to tell you, - try <command>pkglint --explain</command> or <command>pkglint - -e</command>, which outputs additional - explanations.</para></step> - - <step><para>In many cases the package is not yet ready to build. - You can find instructions for the most common cases in the next - section, <xref linkend="creating.common"/>. After you have - followed the instructions over there, you can hopefully continue - here.</para></step> - - <step><para>Run <command>bmake clean</command> to clean the - working directory from the extracted files. Besides these files, - a lot of cache files and other system information has been saved - in the working directory, which may become wrong after you - edited the <filename>Makefile</filename>.</para></step> - - <step><para>Now, run <command>bmake</command> to build the - package. For the various things that can go wrong in this phase, - consult <xref linkend="fixes"/>.</para></step> - - <step><para>When the package builds fine, the next step is to - install the package. Run <command>bmake install</command> and - hope that everything works.</para></step> - - <step><para>Up to now, the file <filename>PLIST</filename>, - which contains a list of the files that are installed by the - package, is nearly empty. Run <command>bmake print-PLIST - >PLIST</command> to generate a probably correct list. Check - the file using your preferred text editor to see if the list of - files looks plausible.</para></step> - - <step><para>Run <command>pkglint</command> again to see if the - generated <filename>PLIST</filename> contains garbage or - not.</para></step> - - <step><para>When you ran <command>bmake install</command>, the - package has been registered in the database of installed files, - but with an empty list of files. To fix this, run <command>bmake - deinstall</command> and <command>bmake install</command> again. - Now the package is registered with the list of files from - <filename>PLIST</filename>.</para></step> - - <step><para>Run <command>bmake package</command> to create a - binary package from the set of installed files.</para></step> - - </procedure> +</step> + +<step><para>Run <command>pkglint</command> to see what things still need +to be done to make your package a <quote>good</quote> one. If you don't +know what pkglint's warnings want to tell you, try <command>pkglint +--explain</command> or <command>pkglint +-e</command>, which outputs additional +explanations.</para></step> + +<step><para>In many cases the package is not yet ready to build. You can +find instructions for the most common cases in the next section, <xref +linkend="creating.common"/>. After you have followed the instructions +over there, you can hopefully continue here.</para></step> + +<step><para>Run <command>bmake clean</command> to clean the working +directory from the extracted files. Besides these files, a lot of cache +files and other system information has been saved in the working +directory, which may become wrong after you edited the +<filename>Makefile</filename>.</para></step> + +<step><para>Now, run <command>bmake</command> to build the package. For +the various things that can go wrong in this phase, consult <xref +linkend="fixes"/>.</para></step> + +<step><para>When the package builds fine, the next step is to install +the package. Run <command>bmake install</command> and hope that +everything works.</para></step> + +<step><para>Up to now, the file <filename>PLIST</filename>, which +contains a list of the files that are installed by the package, is +nearly empty. Run <command>bmake print-PLIST +>PLIST</command> to generate a probably correct list. Check +the file using your preferred text editor to see if the list of +files looks plausible.</para></step> + +<step><para>Run <command>pkglint</command> again to see if the generated +<filename>PLIST</filename> contains garbage or not.</para></step> + +<step><para>When you ran <command>bmake install</command>, the package +has been registered in the database of installed files, but with an +empty list of files. To fix this, run <command>bmake deinstall</command> +and <command>bmake install</command> again. Now the package is +registered with the list of files from +<filename>PLIST</filename>.</para></step> + +<step><para>Run <command>bmake package</command> to create a binary +package from the set of installed files.</para></step> + +</procedure> <sect1 id="creating.common"> <title>Common types of packages</title> |