Date: Sun, 18 Dec 2011 17:35:51 GMT From: Rene Ladan <rene@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 203213 for review Message-ID: <201112181735.pBIHZpeg039102@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@203213?ac=10 Change 203213 by rene@rene_acer on 2011/12/18 17:35:08 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#115 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/hubs/article.sgml#6 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#42 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/Makefile#9 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.sgml#6 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#29 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#118 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml#49 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml#17 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml#26 integrate .. //depot/projects/docproj_nl/share/images/books/handbook/bsdinstall/bsdinstall-config-crashdump.png#1 branch .. //depot/projects/docproj_nl/share/images/books/handbook/bsdinstall/bsdinstall-final-modification-shell.png#1 branch .. //depot/projects/docproj_nl/share/images/books/handbook/bsdinstall/bsdinstall-finalconfiguration.png#3 integrate .. //depot/projects/docproj_nl/share/misc/docbook.css#6 integrate .. //depot/projects/docproj_nl/share/pgpkeys/marck.key#6 integrate .. //depot/projects/docproj_nl/share/sgml/freebsd-html.dsl#8 integrate .. //depot/projects/docproj_nl/share/sgml/freebsd41.dtd#2 integrate .. //depot/projects/docproj_nl/www/en/ipv6/index.sgml#3 integrate .. //depot/projects/docproj_nl/www/en/portmgr/qa.sgml#4 integrate .. //depot/projects/docproj_nl/www/nl/administration.sgml#36 integrate .. //depot/projects/docproj_nl/www/share/sgml/libcommon.xsl#10 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#115 (text+ko) ==== @@ -1,4 +1,4 @@ -<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.1037 2011/12/08 20:00:41 pfg Exp $ --> +<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.1039 2011/12/14 23:36:53 pawel Exp $ --> <!-- NOTE TO COMMITTERS: Contributors lists are sorted in alphabetical order by first name. @@ -2532,6 +2532,11 @@ </listitem> <listitem> + <para>Dmitriy Limonov + <email>earl1k@mail.ru</email></para> + </listitem> + + <listitem> <para>Dmitry A. Yanko <email>fm@astral.ntu-kpi.kiev.ua</email></para> </listitem> @@ -3005,6 +3010,11 @@ </listitem> <listitem> + <para>Evan Sarmiento + <email>esarmiento@wayfair.com</email></para> + </listitem> + + <listitem> <para>Evgueni V. Gavrilov <email>aquatique@rusunix.org</email></para> </listitem> ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/hubs/article.sgml#6 (text+ko) ==== @@ -7,7 +7,7 @@ <article> <articleinfo> <title>Mirroring FreeBSD</title> - <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.72 2011/06/12 08:36:47 simon Exp $</pubdate> + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.73 2011/12/18 01:42:31 kuriyama Exp $</pubdate> <authorgroup> <author> <firstname>Jun</firstname> @@ -79,7 +79,7 @@ Here are some approximate figures: </para> <itemizedlist> - <listitem><para>Full FTP Distribution: 920 GB</para></listitem> + <listitem><para>Full FTP Distribution: 1.0 TB</para></listitem> <listitem><para>CVS repository: 5.4 GB</para></listitem> <listitem><para>CTM deltas: 3.2 GB</para></listitem> <listitem><para>Web pages: 463 MB</para></listitem> ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#42 (text+ko) ==== @@ -11,7 +11,7 @@ <corpauthor>The &os; Ports Management Team</corpauthor> </authorgroup> - <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.81 2011/12/10 07:47:09 linimon Exp $</pubdate> + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.83 2011/12/12 01:54:41 linimon Exp $</pubdate> <copyright> <year>2003</year> @@ -425,7 +425,9 @@ </para> <note> <para>With <literal>-trybroken</literal>, you probably - also want to use <literal>-fetch-original</literal>.</para> + also want to use <literal>-fetch-original</literal> + (and, on the new codebase, + <literal>-unlimited-errors</literal>).</para> </note> </listitem> @@ -482,6 +484,15 @@ rather than <hostid>ftp-master</hostid>. </para> </listitem> + + <listitem> + <para><literal>-unlimited-errors</literal> (new codebase + only) - defeat the "qmanager threshhold" check for runaway + builds. You want this primarily when doing a + <literal>-restart</literal> of a build that you expect to mostly + fail, or perhaps a <literal>-trybroken</literal> run. By default, + the threshhold check is done.</para> + </listitem> </itemizedlist> <para>Unless you specify <literal>-restart</literal>, @@ -2110,7 +2121,7 @@ <listitem> <para>Add <makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_TAG</makevar> - <literal>=.</literal>.</para> + <literal>=.</literal> (literal period).</para> </listitem> </itemizedlist> </listitem> @@ -2231,6 +2242,63 @@ </itemizedlist> </sect1> + <sect1 id="rebase-branch"> + <title>How to rebase on a supported &os; branch</title> + + <para>As of 2011, the philosophy of package building is to build + packages based on <emphasis>the earliest supported release</emphasis> + of each branch. e.g.: if on <literal>RELENG-8</literal>, the + following releases are supported: 8.1, 8.2, 8.3; then + <literal>packages-8-stable</literal> should be built from 8.1.</para> + + <para>As releases go End-Of-Life (see + <ulink url="http://www.freebsd.org/security/index.html#supported-branches">chart</ulink>), + a full (not incremental!) package build should be done and uploaded. + </para> + + <para>The procedure for the new codebase is as follows:</para> + + <itemizedlist> + <listitem> + <para>Edit <filename>/var/portbuild/conf/server.conf</filename> + with the following changes:</para> + <itemizedlist> + <listitem> + <para>Change + <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_TAG</makevar> to + <literal>RELENG_<replaceable>branch</replaceable>_<replaceable>N</replaceable></literal> + where <literal>N</literal> is the newest 'oldest' release + for that branch.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>Run <command> +/var/portbuild/updatesnap</command> manually.</para> + </listitem> + + <listitem> + <para>Run <command> +dopackages</command> with <literal>-nobuild</literal>.</para> + </listitem> + + <listitem> + <para>Follow the <link linkend="setup">setup procedure</link>.</para> + </listitem> + + <listitem> + <para>Now you can run <command> +dopackages</command> without <literal>-nobuild</literal>.</para> + </listitem> + + </itemizedlist> + + <para>The procedure for the old codebase is left as an + exercise for the reader.</para> + + </sect1> + <sect1 id="new-arch"> <title>How to configure a new architecture</title> ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/Makefile#9 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: doc/en_US.ISO8859-1/books/handbook/Makefile,v 1.118 2011/10/22 16:57:21 gjb Exp $ +# $FreeBSD: doc/en_US.ISO8859-1/books/handbook/Makefile,v 1.119 2011/12/11 18:21:55 gjb Exp $ # # Build the FreeBSD Handbook. # @@ -59,6 +59,7 @@ IMAGES_EN+= bsdinstall/bsdinstall-config-hostname.png IMAGES_EN+= bsdinstall/bsdinstall-config-keymap.png IMAGES_EN+= bsdinstall/bsdinstall-config-services.png +IMAGES_EN+= bsdinstall/bsdinstall-config-crashdump.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4.png IMAGES_EN+= bsdinstall/bsdinstall-configure-network-interface-ipv4-static.png @@ -75,6 +76,7 @@ IMAGES_EN+= bsdinstall/bsdinstall-distfile-verifying.png IMAGES_EN+= bsdinstall/bsdinstall-final-confirmation.png IMAGES_EN+= bsdinstall/bsdinstall-finalconfiguration.png +IMAGES_EN+= bsdinstall/bsdinstall-final-modification-shell.png IMAGES_EN+= bsdinstall/bsdinstall-keymap-select-default.png IMAGES_EN+= bsdinstall/bsdinstall-mainexit.png IMAGES_EN+= bsdinstall/bsdinstall-netinstall-files.png ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.sgml,v 1.21 2011/12/09 12:41:09 ryusuke Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.sgml,v 1.22 2011/12/11 18:21:55 gjb Exp $ --> <chapter id="bsdinstall"> @@ -1900,6 +1900,27 @@ </itemizedlist> </sect2> + <sect2 id="bsdinstall-crashdump"> + <title>Enabling Crash Dumps</title> + + <para><application>bsdinstall</application> will prompt if crash + dumps should be enabled on the target system. Enabling crash + dumps can be very useful in debugging issues with the system, so + users are encouraged to enable crash dumps whenever possible. + Select <guibutton>[ Yes ]</guibutton> to enable crash + dumps, or <guibutton>[ No ]</guibutton> to proceed + without crash dumps enabled.</para> + + <figure id="bsdinstall-config-crashdump"> + <title>Enabling Crash Dumps</title> + <mediaobject> + <imageobject> + <imagedata fileref="bsdinstall/bsdinstall-config-crashdump" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + <sect2 id="bsdinstall-addusers"> <title>Add Users</title> @@ -2100,16 +2121,28 @@ <para><literal>Handbook</literal> - Download and install the &os; Handbook (which is what you are reading now).</para> </listitem> - - <listitem> - <para><literal>Shell</literal> - Open a shell to run commands - on the new system.</para> - </listitem> </itemizedlist> <para>After any final configuration is complete, select <guibutton>Exit</guibutton> to leave the installation.</para> + <figure id="bsdinstall-final-modification-shell"> + <title>Manual Configuration</title> + + <mediaobject> + <imageobject> + <imagedata fileref="bsdinstall/bsdinstall-final-modification-shell" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><application>bsdinstall</application> will prompt if there + are any additional configuration that needs to be done before + rebooting into the new system. Select + <guibutton>[ Yes ]</guibutton> to exit to a shell + within the new system, or <guibutton>[ No ]</guibutton> + to proceed to the last step of the installation.</para> + <figure id="bsdinstall-final-main"> <title>Complete the Installation</title> ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#29 (text+ko) ==== @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.255 2011/08/23 18:40:43 brueffer Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.256 2011/12/15 13:29:19 delphij Exp $ --> <chapter id="updating-upgrading"> @@ -2029,8 +2029,9 @@ (i.e. using <command>boot -s</command> from the loader prompt). Then run:</para> - <screen>&prompt.root; <userinput>adjkerntz -i</userinput> + <screen>&prompt.root; <userinput>mount -u /</userinput> &prompt.root; <userinput>mount -a -t ufs</userinput> +&prompt.root; <userinput>adjkerntz -i</userinput> &prompt.root; <userinput>mergemaster -p</userinput> &prompt.root; <userinput>cd /usr/src</userinput> &prompt.root; <userinput>make installworld</userinput> ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#118 (text+ko) ==== @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v 1.1128 2011/12/11 05:09:04 wblock Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v 1.1134 2011/12/18 12:51:56 marck Exp $ --> <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ @@ -41,85 +41,85 @@ &bookinfo.legalnotice; </bookinfo> - <chapter id="why-port"> - <title>Introduction</title> + <chapter id="why-port"> + <title>Introduction</title> - <para>The FreeBSD ports collection is the way almost everyone - installs applications ("ports") on FreeBSD. Like everything - else about FreeBSD, it is primarily a volunteer effort. - It is important to keep this in mind when reading this - document.</para> + <para>The FreeBSD ports collection is the way almost everyone + installs applications ("ports") on FreeBSD. Like everything + else about FreeBSD, it is primarily a volunteer effort. + It is important to keep this in mind when reading this + document.</para> - <para>In FreeBSD, anyone may submit a new port, or volunteer - to maintain an existing port if it is unmaintained—you - do not need any special commit privileges to do so.</para> + <para>In FreeBSD, anyone may submit a new port, or volunteer + to maintain an existing port if it is unmaintained—you + do not need any special commit privileges to do so.</para> - </chapter> + </chapter> - <chapter id="own-port"> - <title>Making a new port yourself</title> + <chapter id="own-port"> + <title>Making a new port yourself</title> - <para>So, you are interested in making your own port or - upgrading an existing one? Great!</para> + <para>So, you are interested in making your own port or + upgrading an existing one? Great!</para> - <para>What follows are some guidelines for creating a new port for - FreeBSD. If you want to upgrade an existing port, you should - read this and then read <xref linkend="port-upgrading">.</para> + <para>What follows are some guidelines for creating a new port for + FreeBSD. If you want to upgrade an existing port, you should + read this and then read <xref linkend="port-upgrading">.</para> - <para>When this document is not sufficiently detailed, you should - refer to <filename>/usr/ports/Mk/bsd.port.mk</filename>, which - all port Makefiles include. Even if you do not hack Makefiles - daily, it is well commented, and you will still gain much - knowledge from it. Additionally, you may send specific questions - to the &a.ports;.</para> + <para>When this document is not sufficiently detailed, you should + refer to <filename>/usr/ports/Mk/bsd.port.mk</filename>, which + all port Makefiles include. Even if you do not hack Makefiles + daily, it is well commented, and you will still gain much + knowledge from it. Additionally, you may send specific questions + to the &a.ports;.</para> - <note> - <para>Only a fraction of the variables - (<makevar><replaceable>VAR</replaceable></makevar>) that can be - overridden are mentioned in this document. Most (if not all) - are documented at the start of <filename>/usr/ports/Mk/bsd.port.mk</filename>; - the others probably ought to be. - Note that this file uses a non-standard tab setting: - <application>Emacs</application> and - <application>Vim</application> should recognize the setting on - loading the file. Both &man.vi.1; and - &man.ex.1; can be set to use the correct value by - typing <command>:set tabstop=4</command> once the file has been - loaded.</para> - </note> + <note> + <para>Only a fraction of the variables + (<makevar><replaceable>VAR</replaceable></makevar>) that can be + overridden are mentioned in this document. Most (if not all) + are documented at the start of <filename>/usr/ports/Mk/bsd.port.mk</filename>; + the others probably ought to be. + Note that this file uses a non-standard tab setting: + <application>Emacs</application> and + <application>Vim</application> should recognize the setting on + loading the file. Both &man.vi.1; and + &man.ex.1; can be set to use the correct value by + typing <command>:set tabstop=4</command> once the file has been + loaded.</para> + </note> - <para> - Looking for something easy to start with? Take a look at the - <ulink url="http://wiki.freebsd.org/WantedPorts">list of - requested ports</ulink> and see if you can work on one (or more). - </para> - </chapter> + <para> + Looking for something easy to start with? Take a look at the + <ulink url="http://wiki.freebsd.org/WantedPorts">list of + requested ports</ulink> and see if you can work on one (or more). + </para> + </chapter> - <chapter id="quick-porting"> - <title>Quick Porting</title> + <chapter id="quick-porting"> + <title>Quick Porting</title> - <para>This section tells you how to quickly create a new port. In many cases, it - is not sufficient, so you will have to read further on into - the document.</para> + <para>This section tells you how to quickly create a new port. In many cases, it + is not sufficient, so you will have to read further on into + the document.</para> - <para>First, get the original tarball and put it into - <makevar>DISTDIR</makevar>, which defaults to - <filename>/usr/ports/distfiles</filename>.</para> + <para>First, get the original tarball and put it into + <makevar>DISTDIR</makevar>, which defaults to + <filename>/usr/ports/distfiles</filename>.</para> - <note> - <para>The following assumes that the software compiled out-of-the-box, - i.e., there was absolutely no change required for the port to work - on your FreeBSD box. If you needed to change something, you will - have to refer to the next section too.</para> - </note> + <note> + <para>The following assumes that the software compiled out-of-the-box, + i.e., there was absolutely no change required for the port to work + on your FreeBSD box. If you needed to change something, you will + have to refer to the next section too.</para> + </note> - <sect1 id="porting-makefile"> - <title>Writing the <filename>Makefile</filename></title> + <sect1 id="porting-makefile"> + <title>Writing the <filename>Makefile</filename></title> - <para>The minimal <filename>Makefile</filename> would look something - like this:</para> + <para>The minimal <filename>Makefile</filename> would look something + like this:</para> - <programlisting># New ports collection makefile for: oneko + <programlisting># New ports collection makefile for: oneko # Date created: 5 December 1994 # Whom: asami # @@ -140,692 +140,692 @@ .include <bsd.port.mk></programlisting> - <para>See if you can figure it out. Do not worry about the contents - of the <literal>$FreeBSD$</literal> line, it will be - filled in automatically by CVS when the port is imported to our main - ports tree. You can find a more detailed example in the <link - linkend="porting-samplem">sample Makefile</link> section.</para> - </sect1> + <para>See if you can figure it out. Do not worry about the contents + of the <literal>$FreeBSD$</literal> line, it will be + filled in automatically by CVS when the port is imported to our main + ports tree. You can find a more detailed example in the <link + linkend="porting-samplem">sample Makefile</link> section.</para> + </sect1> - <sect1 id="porting-desc"> - <title>Writing the description files</title> + <sect1 id="porting-desc"> + <title>Writing the description files</title> - <para>There are two description files that are required for - any port, whether they actually package or not. They are - <filename>pkg-descr</filename> and - <filename>pkg-plist</filename>. Their - <filename>pkg-</filename> prefix distinguishes them from - other files.</para> + <para>There are two description files that are required for + any port, whether they actually package or not. They are + <filename>pkg-descr</filename> and + <filename>pkg-plist</filename>. Their + <filename>pkg-</filename> prefix distinguishes them from + other files.</para> - <sect2> - <title><filename>pkg-descr</filename></title> + <sect2> + <title><filename>pkg-descr</filename></title> - <para>This is a longer description of the port. One to a few - paragraphs concisely explaining what the port does is - sufficient.</para> + <para>This is a longer description of the port. One to a few + paragraphs concisely explaining what the port does is + sufficient.</para> - <note> - <para>This is <emphasis>not</emphasis> a manual or an in-depth - description on how to use or compile the port! <emphasis>Please - be careful if you are copying from the - <filename>README</filename> or manpage</emphasis>; too often - they are not a concise description of the port or are in an - awkward format (e.g., manpages have justified spacing). If the - ported software has an official WWW homepage, you should list it - here. Prefix <emphasis>one</emphasis> of the websites with - <literal>WWW:</literal> so that automated tools will work - correctly.</para> - </note> + <note> + <para>This is <emphasis>not</emphasis> a manual or an in-depth + description on how to use or compile the port! <emphasis>Please + be careful if you are copying from the + <filename>README</filename> or manpage</emphasis>; too often + they are not a concise description of the port or are in an + awkward format (e.g., manpages have justified spacing). If the + ported software has an official WWW homepage, you should list it + here. Prefix <emphasis>one</emphasis> of the websites with + <literal>WWW:</literal> so that automated tools will work + correctly.</para> + </note> - <para>The following example shows how your - <filename>pkg-descr</filename> should look:</para> + <para>The following example shows how your + <filename>pkg-descr</filename> should look:</para> - <programlisting>This is a port of oneko, in which a cat chases a poor mouse all over + <programlisting>This is a port of oneko, in which a cat chases a poor mouse all over the screen. : (etc.) WWW: http://www.oneko.org/</programlisting> - </sect2> + </sect2> - <sect2> - <title><filename>pkg-plist</filename></title> + <sect2> + <title><filename>pkg-plist</filename></title> - <para>This file lists all the files installed by the port. It is - also called the <quote>packing list</quote> because the package is - generated by packing the files listed here. The pathnames are - relative to the installation prefix (usually - <filename>/usr/local</filename> or - <filename>/usr/X11R6</filename>). If you are using the - <makevar>MAN<replaceable>n</replaceable></makevar> variables (as - you should be), do not list any manpages here. If the port creates - directories during installation, make sure to add - <literal>@dirrm</literal> lines to remove them when the package is - deleted.</para> + <para>This file lists all the files installed by the port. It is + also called the <quote>packing list</quote> because the package is + generated by packing the files listed here. The pathnames are + relative to the installation prefix (usually + <filename>/usr/local</filename> or + <filename>/usr/X11R6</filename>). If you are using the + <makevar>MAN<replaceable>n</replaceable></makevar> variables (as + you should be), do not list any manpages here. If the port creates + directories during installation, make sure to add + <literal>@dirrm</literal> lines to remove them when the package is + deleted.</para> - <para>Here is a small example:</para> + <para>Here is a small example:</para> - <programlisting>bin/oneko + <programlisting>bin/oneko lib/X11/app-defaults/Oneko lib/X11/oneko/cat1.xpm lib/X11/oneko/cat2.xpm lib/X11/oneko/mouse.xpm @dirrm lib/X11/oneko</programlisting> - <para>Refer to the &man.pkg.create.1; manual page for details on the - packing list.</para> + <para>Refer to the &man.pkg.create.1; manual page for details on the + packing list.</para> - <note> - <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> - </note> + <note> + <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> + </note> - <note> - <para>Creating a packing list manually can be a very tedious - task. If the port installs a large numbers of files, <link - linkend="plist-autoplist">creating the packing list - automatically</link> might save time.</para> - </note> + <note> + <para>Creating a packing list manually can be a very tedious + task. If the port installs a large numbers of files, <link + linkend="plist-autoplist">creating the packing list + automatically</link> might save time.</para> + </note> - <para>There is only one case when <filename>pkg-plist</filename> - can be omitted from a port. If the port installs just a handful - of files, and perhaps directories, the files and directories may - be listed in the variables <makevar>PLIST_FILES</makevar> and - <makevar>PLIST_DIRS</makevar>, respectively, within the port's - <filename>Makefile</filename>. For instance, we could get along - without <filename>pkg-plist</filename> in the above - <filename>oneko</filename> port by adding the - following lines to the <filename>Makefile</filename>:</para> + <para>There is only one case when <filename>pkg-plist</filename> + can be omitted from a port. If the port installs just a handful + of files, and perhaps directories, the files and directories may + be listed in the variables <makevar>PLIST_FILES</makevar> and + <makevar>PLIST_DIRS</makevar>, respectively, within the port's + <filename>Makefile</filename>. For instance, we could get along + without <filename>pkg-plist</filename> in the above + <filename>oneko</filename> port by adding the + following lines to the <filename>Makefile</filename>:</para> - <programlisting>PLIST_FILES= bin/oneko \ + <programlisting>PLIST_FILES= bin/oneko \ lib/X11/app-defaults/Oneko \ lib/X11/oneko/cat1.xpm \ lib/X11/oneko/cat2.xpm \ lib/X11/oneko/mouse.xpm PLIST_DIRS= lib/X11/oneko</programlisting> - <para>Of course, <makevar>PLIST_DIRS</makevar> should be left - unset if a port installs no directories of its own.</para> + <para>Of course, <makevar>PLIST_DIRS</makevar> should be left + unset if a port installs no directories of its own.</para> - <para>The price for this way of listing port's files and - directories is that you cannot use command sequences - described in &man.pkg.create.1;. Therefore, it is suitable - only for simple ports and makes them even simpler. At the - same time, it has the advantage of reducing the number of files - in the ports collection. Please consider using this technique - before you resort to <filename>pkg-plist</filename>.</para> + <para>The price for this way of listing port's files and + directories is that you cannot use command sequences + described in &man.pkg.create.1;. Therefore, it is suitable + only for simple ports and makes them even simpler. At the + same time, it has the advantage of reducing the number of files + in the ports collection. Please consider using this technique + before you resort to <filename>pkg-plist</filename>.</para> - <para>Later we will see how <filename>pkg-plist</filename> - and <makevar>PLIST_FILES</makevar> can be used to fulfill - <link linkend="plist">more sophisticated + <para>Later we will see how <filename>pkg-plist</filename> + and <makevar>PLIST_FILES</makevar> can be used to fulfill + <link linkend="plist">more sophisticated tasks</link>.</para> - </sect2> - </sect1> + </sect2> + </sect1> - <sect1 id="porting-checksum"> - <title>Creating the checksum file</title> + <sect1 id="porting-checksum"> + <title>Creating the checksum file</title> - <para>Just type <command>make makesum</command>. The ports make rules - will automatically generate the file - <filename>distinfo</filename>.</para> + <para>Just type <command>make makesum</command>. The ports make rules + will automatically generate the file + <filename>distinfo</filename>.</para> - <para>If a file fetched has its checksum changed regularly and you are - certain the source is trusted (i.e. it comes from manufacturer CDs - or documentation generated daily), you should specify these files in - the <makevar>IGNOREFILES</makevar> variable. - Then the checksum is not calculated for that file when you run - <command>make makesum</command>, but set to - <literal>IGNORE</literal>.</para> - </sect1> + <para>If a file fetched has its checksum changed regularly and you are + certain the source is trusted (i.e. it comes from manufacturer CDs + or documentation generated daily), you should specify these files in + the <makevar>IGNOREFILES</makevar> variable. + Then the checksum is not calculated for that file when you run + <command>make makesum</command>, but set to + <literal>IGNORE</literal>.</para> + </sect1> - <sect1 id="porting-testing"> - <title>Testing the port</title> + <sect1 id="porting-testing"> + <title>Testing the port</title> - <para>You should make sure that the port rules do exactly what you - want them to do, including packaging up the port. These are the - important points you need to verify.</para> + <para>You should make sure that the port rules do exactly what you + want them to do, including packaging up the port. These are the + important points you need to verify.</para> - <itemizedlist> - <listitem> - <para><filename>pkg-plist</filename> does not contain anything not - installed by your port</para> - </listitem> + <itemizedlist> + <listitem> + <para><filename>pkg-plist</filename> does not contain anything not + installed by your port</para> + </listitem> - <listitem> - <para><filename>pkg-plist</filename> contains everything that is - installed by your port</para> - </listitem> + <listitem> + <para><filename>pkg-plist</filename> contains everything that is + installed by your port</para> + </listitem> - <listitem> - <para>Your port can be installed multiple times using the - <maketarget>reinstall</maketarget> target</para> - </listitem> + <listitem> + <para>Your port can be installed multiple times using the + <maketarget>reinstall</maketarget> target</para> + </listitem> - <listitem> - <para>Your port <link linkend="plist-cleaning">cleans up</link> - after itself upon deinstall</para> - </listitem> - </itemizedlist> + <listitem> + <para>Your port <link linkend="plist-cleaning">cleans up</link> + after itself upon deinstall</para> + </listitem> + </itemizedlist> - <procedure> - <title>Recommended test ordering</title> + <procedure> + <title>Recommended test ordering</title> - <step> - <para><command>make install</command></para> - </step> + <step> + <para><command>make install</command></para> + </step> - <step> - <para><command>make package</command></para> - </step> + <step> + <para><command>make package</command></para> + </step> - <step> - <para><command>make deinstall</command></para> - </step> + <step> + <para><command>make deinstall</command></para> + </step> - <step> - <para><command>pkg_add <replaceable>package-name</replaceable> - </command></para> - </step> + <step> + <para><command>pkg_add <replaceable>package-name</replaceable> + </command></para> + </step> - <step> - <para><command>make deinstall</command></para> - </step> + <step> + <para><command>make deinstall</command></para> + </step> - <step> - <para><command>make reinstall</command></para> - </step> + <step> + <para><command>make reinstall</command></para> + </step> - <step> - <para><command>make package</command></para> - </step> - </procedure> + <step> + <para><command>make package</command></para> + </step> + </procedure> - <para>Make sure that there are not any warnings issued in any of the - <maketarget>package</maketarget> and - <maketarget>deinstall</maketarget> stages. After step 3, check to - see if all the new directories are correctly deleted. Also, try - using the software after step 4, to ensure that it works correctly - when installed from a package.</para> + <para>Make sure that there are not any warnings issued in any of the + <maketarget>package</maketarget> and + <maketarget>deinstall</maketarget> stages. After step 3, check to + see if all the new directories are correctly deleted. Also, try + using the software after step 4, to ensure that it works correctly + when installed from a package.</para> - <para>The most thorough way to automate these steps is via - installing the <application>ports tinderbox</application>. - This maintains <literal>jails</literal> in which you can - test all of the above steps without changing the state of - your running system. Please see - <filename>ports/ports-mgmt/tinderbox</filename> for more - information.</para> - </sect1> + <para>The most thorough way to automate these steps is via + installing the <application>ports tinderbox</application>. + This maintains <literal>jails</literal> in which you can + test all of the above steps without changing the state of + your running system. Please see + <filename>ports/ports-mgmt/tinderbox</filename> for more + information.</para> + </sect1> - <sect1 id="porting-portlint"> - <title>Checking your port with <command>portlint</command></title> + <sect1 id="porting-portlint"> + <title>Checking your port with <command>portlint</command></title> - <para>Please use <command>portlint</command> to see if your port - conforms to our guidelines. The <filename role="package">ports-mgmt/portlint</filename> - program is part of the ports collection. - In particular, you may want to check if the - <link linkend="porting-samplem">Makefile</link> is in the right - shape and the <link linkend="porting-pkgname">package</link> is named - appropriately.</para> - </sect1> + <para>Please use <command>portlint</command> to see if your port + conforms to our guidelines. The <filename role="package">ports-mgmt/portlint</filename> + program is part of the ports collection. + In particular, you may want to check if the + <link linkend="porting-samplem">Makefile</link> is in the right + shape and the <link linkend="porting-pkgname">package</link> is named + appropriately.</para> + </sect1> - <sect1 id="porting-submitting"> - <title>Submitting the new port</title> + <sect1 id="porting-submitting"> + <title>Submitting the new port</title> - <para>Before you submit the new port, make sure you have read the <link - linkend="porting-dads">DOs and DON'Ts</link> section.</para> + <para>Before you submit the new port, make sure you have read the <link + linkend="porting-dads">DOs and DON'Ts</link> section.</para> - <para>Now that you are happy with your port, the only thing remaining - is to put it in the main &os; ports tree and make everybody else - happy about it too. We do not need your <filename>work</filename> - directory or the <filename>pkgname.tgz</filename> package, so delete - them now. Next, assuming your port is called oneko, - <command>cd</command> to the directory above where the - <literal>oneko</literal> directory is located, and then type the - following: <command>shar `find oneko` > oneko.shar</command> + <para>Now that you are happy with your port, the only thing remaining + is to put it in the main &os; ports tree and make everybody else + happy about it too. We do not need your <filename>work</filename> + directory or the <filename>pkgname.tgz</filename> package, so delete + them now. Next, assuming your port is called oneko, + <command>cd</command> to the directory above where the + <literal>oneko</literal> directory is located, and then type the + following: <command>shar `find oneko` > oneko.shar</command></para> - <para>Include your <literal>oneko.shar</literal> file in a bug report - and send it with the &man.send-pr.1; program (see - <ulink url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">Bug - Reports and General Commentary</ulink> for more information about - &man.send-pr.1;). Be sure to classify the bug report as category - <literal>ports</literal> and class - <literal>change-request</literal> (Do not mark the report - <literal>confidential</literal>!). - Also add a short description of the program you ported - to the <quote>Description</quote> field of the PR (e.g. - perhaps a short version of the <makevar>COMMENT</makevar>), and add - the shar file to the <quote>Fix</quote> field.</para> + <para>Include your <literal>oneko.shar</literal> file in a bug report + and send it with the &man.send-pr.1; program (see + <ulink url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">Bug + Reports and General Commentary</ulink> for more information about + &man.send-pr.1;). Be sure to classify the bug report as category + <literal>ports</literal> and class + <literal>change-request</literal> (Do not mark the report + <literal>confidential</literal>!). + Also add a short description of the program you ported + to the <quote>Description</quote> field of the PR (e.g. + perhaps a short version of the <makevar>COMMENT</makevar>), and add + the shar file to the <quote>Fix</quote> field.</para> - <note> - <para>You can make our work a lot easier, if you use a good - description in the synopsis of the problem report. - We prefer something like - <quote>New port: <category>/<portname> - <short description of the port></quote> for new ports. - If you stick to this scheme, the chance that someone will take a - look at your PR soon is much better.</para> - </note> + <note> + <para>You can make our work a lot easier, if you use a good + description in the synopsis of the problem report. + We prefer something like + <quote>New port: <category>/<portname> + <short description of the port></quote> for new ports. + If you stick to this scheme, the chance that someone will take a + look at your PR soon is much better.</para> + </note> - <para>One more time, <emphasis>do not include the original source - distfile, the <filename>work</filename> directory, or the package - you built with <command>make package</command></emphasis>; - and, do use &man.shar.1; for new ports, not &man.diff.1;. - </para> + <para>One more time, <emphasis>do not include the original source + distfile, the <filename>work</filename> directory, or the package + you built with <command>make package</command></emphasis>; + and, do use &man.shar.1; for new ports, not &man.diff.1;. + </para> - <para>After you have submitted your port, please be patient. - Sometimes it can take a few months before a port is included - in &os;, although it might only take a few days. You can - view the list of <ulink + <para>After you have submitted your port, please be patient. + Sometimes it can take a few months before a port is included + in &os;, although it might only take a few days. You can + view the list of <ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports">ports PRs waiting to be committed to &os;</ulink>.</para> - <para>Once we have looked at your port, we will get back to you if necessary, and put - it in the tree. Your name will also appear in the list of - <ulink url="&url.articles.contributors;/contrib-additional.html">Additional FreeBSD Contributors</ulink> - and other files. Isn't that great?!? <!-- smiley - -->:-)</para> - </sect1> - </chapter> + <para>Once we have looked at your port, we will get back to you if necessary, and put + it in the tree. Your name will also appear in the list of + <ulink url="&url.articles.contributors;/contrib-additional.html">Additional FreeBSD Contributors</ulink> + and other files. Isn't that great?!? <!-- smiley + -->:-)</para> + </sect1> + </chapter> - <chapter id="slow"> - <title>Slow Porting</title> + <chapter id="slow"> + <title>Slow Porting</title> - <para>Ok, so it was not that simple, and the port required some - modifications to get it to work. In this section, we will explain, - step by step, how to modify it to get it to work with the ports >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112181735.pBIHZpeg039102>