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:
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
|
@ -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 <bsd.port.mk></programlisting>
|
.include <bsd.port.mk></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) > 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) > 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#' >> 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:
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -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 <bsd.port.mk></programlisting>
|
.include <bsd.port.mk></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) > 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) > 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#' >> 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:
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -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 <bsd.port.mk></programlisting>
|
.include <bsd.port.mk></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) > 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) > 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#' >> 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:
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -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 <bsd.port.mk></programlisting>
|
.include <bsd.port.mk></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) > 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) > 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#' >> 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:
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -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 <bsd.port.mk></programlisting>
|
.include <bsd.port.mk></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) > 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) > 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#' >> 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:
|
||||||
-->
|
-->
|
||||||
|
|
Loading…
Reference in a new issue