Added the proposed text explaining how to automatically creating a

packing list.  Rewrote it slightly to separate the example commands out
from the body text.

PR:             docs/9375
Submitted by:   Tom Hukins <tom@eborcom.com>
This commit is contained in:
Nik Clayton 1999-06-05 21:39:20 +00:00
parent f54c0d0868
commit 76393ea0dd
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=5025
5 changed files with 250 additions and 25 deletions

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$Id: chapter.sgml,v 1.24 1999-06-03 11:15:29 hoek Exp $ $Id: chapter.sgml,v 1.25 1999-06-05 21:39:20 nik Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this <para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes file sorted alphabetically. It will make verifying the changes
when you upgrade the port much easier.</para> when you upgrade the port much easier.</para>
<para>Creating a packing list manually can be a very tedious
task. If the port installs a large numbers of files, <link
linkend="porting-autoplist">creating the packing list
automatically</link> might save time.</para>
</note> </note>
</sect4> </sect4>
</sect3> </sect3>
@ -1945,7 +1950,7 @@ BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract</programlisting>
<para>There are some more things you have to take into account when you <para>There are some more things you have to take into account when you
create a port. This section explains the most common of those.</para> create a port. This section explains the most common of those.</para>
<sect3> <sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title> <title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a <para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue] [and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting> .include &lt;bsd.port.mk&gt;</programlisting>
</sect2> </sect2>
<sect2 id="porting-autoplist">
<title>Automated package list creation</title>
<para>First, make sure your port is almost complete, with only
<filename>PLIST</filename> missing. Create an empty
<filename>PLIST</filename>.</para>
<screen>&prompt.root; <userinput>touch PLIST</userinput></screen>
<para>Next, create a new set of directories which your port can be
installed, and install any dependencies.</para>
<screen>&prompt.root; <userinput>mtree -U -f /etc/mtree/BSD.local.dist -d -e -p /var/tmp/<replaceable>port-name</replaceable></userinput>
&prompt.root; <userinput>make depends PREFIX=/var/tmp/<replaceable>port-name</replaceable></userinput></screen>
<para>Store the directory structure in a new file.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; OLD-DIRS</userinput></screen>
<para>If your port honours <makevar>PREFIX</makevar> (which it should)
you can then install the port and create the package list.</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp</userinput>
&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; pkg/PLIST</userinput></screen>
<para>You must also add any newly created directories to the packing
list.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name && find * -type d) | comm -13 OLD-DIRS - | sed -e 's#^#@dirrm#' &gt;&gt; pkg/PLIST</replaceable></userinput></screen>
<para>Finally, you need to tidy up the packing list by hand. I lied
when I said this was all automated. Manual pages should be listed in
the port's <filename>Makefile</filename> under
<makevar>MAN<replaceable>n</replaceable></makevar>, and not in the
package list. User configuration files should be removed, or
installed as
<filename><replaceable>filename</replaceable>.sample</filename>. Any
libraries installed by the port should be listed as specified in the
<link linkend="porting-ldconfig">ldconfig</link> section.</para>
</sect2>
<sect2 id="porting-pkgname"> <sect2 id="porting-pkgname">
<title>Package Names</title> <title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End: End:
--> -->

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$Id: chapter.sgml,v 1.24 1999-06-03 11:15:29 hoek Exp $ $Id: chapter.sgml,v 1.25 1999-06-05 21:39:20 nik Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this <para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes file sorted alphabetically. It will make verifying the changes
when you upgrade the port much easier.</para> when you upgrade the port much easier.</para>
<para>Creating a packing list manually can be a very tedious
task. If the port installs a large numbers of files, <link
linkend="porting-autoplist">creating the packing list
automatically</link> might save time.</para>
</note> </note>
</sect4> </sect4>
</sect3> </sect3>
@ -1945,7 +1950,7 @@ BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract</programlisting>
<para>There are some more things you have to take into account when you <para>There are some more things you have to take into account when you
create a port. This section explains the most common of those.</para> create a port. This section explains the most common of those.</para>
<sect3> <sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title> <title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a <para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue] [and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting> .include &lt;bsd.port.mk&gt;</programlisting>
</sect2> </sect2>
<sect2 id="porting-autoplist">
<title>Automated package list creation</title>
<para>First, make sure your port is almost complete, with only
<filename>PLIST</filename> missing. Create an empty
<filename>PLIST</filename>.</para>
<screen>&prompt.root; <userinput>touch PLIST</userinput></screen>
<para>Next, create a new set of directories which your port can be
installed, and install any dependencies.</para>
<screen>&prompt.root; <userinput>mtree -U -f /etc/mtree/BSD.local.dist -d -e -p /var/tmp/<replaceable>port-name</replaceable></userinput>
&prompt.root; <userinput>make depends PREFIX=/var/tmp/<replaceable>port-name</replaceable></userinput></screen>
<para>Store the directory structure in a new file.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; OLD-DIRS</userinput></screen>
<para>If your port honours <makevar>PREFIX</makevar> (which it should)
you can then install the port and create the package list.</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp</userinput>
&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; pkg/PLIST</userinput></screen>
<para>You must also add any newly created directories to the packing
list.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name && find * -type d) | comm -13 OLD-DIRS - | sed -e 's#^#@dirrm#' &gt;&gt; pkg/PLIST</replaceable></userinput></screen>
<para>Finally, you need to tidy up the packing list by hand. I lied
when I said this was all automated. Manual pages should be listed in
the port's <filename>Makefile</filename> under
<makevar>MAN<replaceable>n</replaceable></makevar>, and not in the
package list. User configuration files should be removed, or
installed as
<filename><replaceable>filename</replaceable>.sample</filename>. Any
libraries installed by the port should be listed as specified in the
<link linkend="porting-ldconfig">ldconfig</link> section.</para>
</sect2>
<sect2 id="porting-pkgname"> <sect2 id="porting-pkgname">
<title>Package Names</title> <title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End: End:
--> -->

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$Id: book.sgml,v 1.24 1999-06-03 11:15:29 hoek Exp $ $Id: book.sgml,v 1.25 1999-06-05 21:39:20 nik Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this <para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes file sorted alphabetically. It will make verifying the changes
when you upgrade the port much easier.</para> when you upgrade the port much easier.</para>
<para>Creating a packing list manually can be a very tedious
task. If the port installs a large numbers of files, <link
linkend="porting-autoplist">creating the packing list
automatically</link> might save time.</para>
</note> </note>
</sect4> </sect4>
</sect3> </sect3>
@ -1945,7 +1950,7 @@ BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract</programlisting>
<para>There are some more things you have to take into account when you <para>There are some more things you have to take into account when you
create a port. This section explains the most common of those.</para> create a port. This section explains the most common of those.</para>
<sect3> <sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title> <title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a <para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue] [and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting> .include &lt;bsd.port.mk&gt;</programlisting>
</sect2> </sect2>
<sect2 id="porting-autoplist">
<title>Automated package list creation</title>
<para>First, make sure your port is almost complete, with only
<filename>PLIST</filename> missing. Create an empty
<filename>PLIST</filename>.</para>
<screen>&prompt.root; <userinput>touch PLIST</userinput></screen>
<para>Next, create a new set of directories which your port can be
installed, and install any dependencies.</para>
<screen>&prompt.root; <userinput>mtree -U -f /etc/mtree/BSD.local.dist -d -e -p /var/tmp/<replaceable>port-name</replaceable></userinput>
&prompt.root; <userinput>make depends PREFIX=/var/tmp/<replaceable>port-name</replaceable></userinput></screen>
<para>Store the directory structure in a new file.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; OLD-DIRS</userinput></screen>
<para>If your port honours <makevar>PREFIX</makevar> (which it should)
you can then install the port and create the package list.</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp</userinput>
&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; pkg/PLIST</userinput></screen>
<para>You must also add any newly created directories to the packing
list.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name && find * -type d) | comm -13 OLD-DIRS - | sed -e 's#^#@dirrm#' &gt;&gt; pkg/PLIST</replaceable></userinput></screen>
<para>Finally, you need to tidy up the packing list by hand. I lied
when I said this was all automated. Manual pages should be listed in
the port's <filename>Makefile</filename> under
<makevar>MAN<replaceable>n</replaceable></makevar>, and not in the
package list. User configuration files should be removed, or
installed as
<filename><replaceable>filename</replaceable>.sample</filename>. Any
libraries installed by the port should be listed as specified in the
<link linkend="porting-ldconfig">ldconfig</link> section.</para>
</sect2>
<sect2 id="porting-pkgname"> <sect2 id="porting-pkgname">
<title>Package Names</title> <title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End: End:
--> -->

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$Id: chapter.sgml,v 1.24 1999-06-03 11:15:29 hoek Exp $ $Id: chapter.sgml,v 1.25 1999-06-05 21:39:20 nik Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this <para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes file sorted alphabetically. It will make verifying the changes
when you upgrade the port much easier.</para> when you upgrade the port much easier.</para>
<para>Creating a packing list manually can be a very tedious
task. If the port installs a large numbers of files, <link
linkend="porting-autoplist">creating the packing list
automatically</link> might save time.</para>
</note> </note>
</sect4> </sect4>
</sect3> </sect3>
@ -1945,7 +1950,7 @@ BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract</programlisting>
<para>There are some more things you have to take into account when you <para>There are some more things you have to take into account when you
create a port. This section explains the most common of those.</para> create a port. This section explains the most common of those.</para>
<sect3> <sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title> <title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a <para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue] [and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting> .include &lt;bsd.port.mk&gt;</programlisting>
</sect2> </sect2>
<sect2 id="porting-autoplist">
<title>Automated package list creation</title>
<para>First, make sure your port is almost complete, with only
<filename>PLIST</filename> missing. Create an empty
<filename>PLIST</filename>.</para>
<screen>&prompt.root; <userinput>touch PLIST</userinput></screen>
<para>Next, create a new set of directories which your port can be
installed, and install any dependencies.</para>
<screen>&prompt.root; <userinput>mtree -U -f /etc/mtree/BSD.local.dist -d -e -p /var/tmp/<replaceable>port-name</replaceable></userinput>
&prompt.root; <userinput>make depends PREFIX=/var/tmp/<replaceable>port-name</replaceable></userinput></screen>
<para>Store the directory structure in a new file.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; OLD-DIRS</userinput></screen>
<para>If your port honours <makevar>PREFIX</makevar> (which it should)
you can then install the port and create the package list.</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp</userinput>
&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; pkg/PLIST</userinput></screen>
<para>You must also add any newly created directories to the packing
list.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name && find * -type d) | comm -13 OLD-DIRS - | sed -e 's#^#@dirrm#' &gt;&gt; pkg/PLIST</replaceable></userinput></screen>
<para>Finally, you need to tidy up the packing list by hand. I lied
when I said this was all automated. Manual pages should be listed in
the port's <filename>Makefile</filename> under
<makevar>MAN<replaceable>n</replaceable></makevar>, and not in the
package list. User configuration files should be removed, or
installed as
<filename><replaceable>filename</replaceable>.sample</filename>. Any
libraries installed by the port should be listed as specified in the
<link linkend="porting-ldconfig">ldconfig</link> section.</para>
</sect2>
<sect2 id="porting-pkgname"> <sect2 id="porting-pkgname">
<title>Package Names</title> <title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End: End:
--> -->

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$Id: book.sgml,v 1.24 1999-06-03 11:15:29 hoek Exp $ $Id: book.sgml,v 1.25 1999-06-05 21:39:20 nik Exp $
--> -->
<chapter id="ports"> <chapter id="ports">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this <para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes file sorted alphabetically. It will make verifying the changes
when you upgrade the port much easier.</para> when you upgrade the port much easier.</para>
<para>Creating a packing list manually can be a very tedious
task. If the port installs a large numbers of files, <link
linkend="porting-autoplist">creating the packing list
automatically</link> might save time.</para>
</note> </note>
</sect4> </sect4>
</sect3> </sect3>
@ -1945,7 +1950,7 @@ BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract</programlisting>
<para>There are some more things you have to take into account when you <para>There are some more things you have to take into account when you
create a port. This section explains the most common of those.</para> create a port. This section explains the most common of those.</para>
<sect3> <sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title> <title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a <para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue] [and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting> .include &lt;bsd.port.mk&gt;</programlisting>
</sect2> </sect2>
<sect2 id="porting-autoplist">
<title>Automated package list creation</title>
<para>First, make sure your port is almost complete, with only
<filename>PLIST</filename> missing. Create an empty
<filename>PLIST</filename>.</para>
<screen>&prompt.root; <userinput>touch PLIST</userinput></screen>
<para>Next, create a new set of directories which your port can be
installed, and install any dependencies.</para>
<screen>&prompt.root; <userinput>mtree -U -f /etc/mtree/BSD.local.dist -d -e -p /var/tmp/<replaceable>port-name</replaceable></userinput>
&prompt.root; <userinput>make depends PREFIX=/var/tmp/<replaceable>port-name</replaceable></userinput></screen>
<para>Store the directory structure in a new file.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; OLD-DIRS</userinput></screen>
<para>If your port honours <makevar>PREFIX</makevar> (which it should)
you can then install the port and create the package list.</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp</userinput>
&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name</replaceable> && find * \! -type d) &gt; pkg/PLIST</userinput></screen>
<para>You must also add any newly created directories to the packing
list.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/<replaceable>port-name && find * -type d) | comm -13 OLD-DIRS - | sed -e 's#^#@dirrm#' &gt;&gt; pkg/PLIST</replaceable></userinput></screen>
<para>Finally, you need to tidy up the packing list by hand. I lied
when I said this was all automated. Manual pages should be listed in
the port's <filename>Makefile</filename> under
<makevar>MAN<replaceable>n</replaceable></makevar>, and not in the
package list. User configuration files should be removed, or
installed as
<filename><replaceable>filename</replaceable>.sample</filename>. Any
libraries installed by the port should be listed as specified in the
<link linkend="porting-ldconfig">ldconfig</link> section.</para>
</sect2>
<sect2 id="porting-pkgname"> <sect2 id="porting-pkgname">
<title>Package Names</title> <title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter") sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End: End:
--> -->