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
$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">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes
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>
</sect4>
</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
create a port. This section explains the most common of those.</para>
<sect3>
<sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting>
</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">
<title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->
-->

View file

@ -1,7 +1,7 @@
<!--
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">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes
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>
</sect4>
</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
create a port. This section explains the most common of those.</para>
<sect3>
<sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting>
</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">
<title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->
-->

View file

@ -1,7 +1,7 @@
<!--
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">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes
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>
</sect4>
</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
create a port. This section explains the most common of those.</para>
<sect3>
<sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting>
</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">
<title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->
-->

View file

@ -1,7 +1,7 @@
<!--
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">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes
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>
</sect4>
</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
create a port. This section explains the most common of those.</para>
<sect3>
<sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting>
</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">
<title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->
-->

View file

@ -1,7 +1,7 @@
<!--
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">
@ -1110,6 +1110,11 @@ lib/X11/oneko/mouse.xpm
<para>It is recommended that you keep all the filenames in this
file sorted alphabetically. It will make verifying the changes
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>
</sect4>
</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
create a port. This section explains the most common of those.</para>
<sect3>
<sect3 id="porting-ldconfig">
<title><command>ldconfig</command></title>
<para>If your port installs a shared library, add a
@ -3941,7 +3946,48 @@ pre-install:
[and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting>
</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">
<title>Package Names</title>
@ -4550,5 +4596,4 @@ pre-install:
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->
-->