diff options
Diffstat (limited to 'zh_CN.GB2312')
-rw-r--r-- | zh_CN.GB2312/books/porters-handbook/book.sgml | 207 |
1 files changed, 194 insertions, 13 deletions
diff --git a/zh_CN.GB2312/books/porters-handbook/book.sgml b/zh_CN.GB2312/books/porters-handbook/book.sgml index 924465de0a..36c2588c3f 100644 --- a/zh_CN.GB2312/books/porters-handbook/book.sgml +++ b/zh_CN.GB2312/books/porters-handbook/book.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.958 + Original Revision: 1.979 $FreeBSD$ --> @@ -31,6 +31,7 @@ <year>2006</year> <year>2007</year> <year>2008</year> + <year>2009</year> <holder role="mailto:doc@FreeBSD.org">The FreeBSD Documentation Project</holder> </copyright> @@ -2076,7 +2077,7 @@ PORTEPOCH= 1</programlisting> <step> <para>如果这一 PR 得到批准, 某个 committer 将按照在 - <ulink url="&url.articles.committers-guide;/#ports"> + <ulink url="&url.articles.committers-guide;/article.html#PORTS"> Committer 指南</ulink> 中所介绍的步骤来完成余下的工作。</para> </step> </procedure> @@ -2994,7 +2995,7 @@ ALWAYS_KEEP_DISTFILES= yes <para>我们保留对监护人所提交修正案进行改动的权力, 以便使其更符合现行的 Ports Collection 规范, 而无需提交补丁的人明确批准。 此外, 大规模的基础性修改, 也可能使 port 在没有得到监护人同意的情形下进行修改。 - 但这类修改都不会影响 port 本身的功能。</para> + 但这类修改都不应影响 port 本身的功能。</para> <para>&a.portmgr; 保留以任何原因收回或绕过任何人监护权的权力, 而 &a.security-officer; 则保留以安全原因收回或绕过监护权的权力。</para> @@ -6266,6 +6267,109 @@ _DOCSDIR= . </sect1> + <sect1 id="using-tcl"> + <title>使用 <application>Tcl/Tk</application></title> + + <para>Ports 套件支持同时安装多个 <application>Tcl/Tk</application> 版本。 Ports + 应至少支持默认的 + <application>Tcl/Tk</application> 版本, 以及通过 + <makevar>USE_TCL</makevar> 和 <makevar>USE_TK</makevar> + 变量指定的更高版本。 希望使用的 + <command>tcl</command> 版本, 则可以通过 <makevar>WITH_TCL_VER</makevar> + 变量来使用。</para> + + <table frame="none"> + <title>用到 + <application>Tcl/Tk</application> 的 port 可以使用的变量</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><makevar>USE_TCL</makevar></entry> + + <entry>表示 port 依赖于 + <application>Tcl</application> 函数库 (不是 shell)。 + 可以指定需要的最低版本, 例如 84+。 不支持的版本, + 可以在 <makevar>INVALID_TCL_VER</makevar> + 变量中逐个指定。</entry> + </row> + + <row> + <entry><makevar>USE_TCL_BUILD</makevar></entry> + + <entry>表示 port 在联编过程中需要使用 <application>Tcl</application>。</entry> + </row> + + <row> + <entry><makevar>USE_TCL_WRAPPER</makevar></entry> + + <entry>需要使用 + <application>Tcl</application> shell 而不需要特定版本的 + <literal>tclsh</literal> 的 port 可以使用这个新变量。 + 系统中会安装 <literal>tclsh</literal> wrapper, + 用户则可以指定所希望的 <command>tcl</command> shell。</entry> + </row> + + <row> + <entry><makevar>WITH_TCL_VER</makevar></entry> + + <entry>由用户定义的、 希望使用的 + <application>Tcl</application> 版本。</entry> + </row> + + <row> + <entry><makevar><replaceable>UNIQUENAME</replaceable>_WITH_TCL_VER</makevar></entry> + + <entry>和 <makevar>WITH_TCL_VER</makevar> 类似, + 但是针对 port 指定的。</entry> + </row> + + <row> + <entry><makevar>USE_TCL_THREADS</makevar></entry> + + <entry>需要包含线程支持的 + <application>Tcl/Tk</application>。</entry> + </row> + + <row> + <entry><makevar>USE_TK</makevar></entry> + + <entry>表示 port 依赖于 + <application>Tk</application> 库 (不是 wish + shell)。 它同时会隐含将 <makevar>USE_TCL</makevar> 设置为相同的值。 + 更多的描述, 请参考 + <makevar>USE_TCL</makevar> 变量。</entry> + </row> + + <row> + <entry><makevar>USE_TK_BUILD</makevar></entry> + + <entry>与 <makevar>USE_TCL_BUILD</makevar> + 变量表达类似的含义。</entry> + </row> + + <row> + <entry><makevar>USE_TK_WRAPPER</makevar></entry> + + <entry>与 <makevar>USE_TCL_WRAPPER</makevar> + 变量表达类似的含义。</entry> + </row> + + <row> + <entry><makevar>WITH_TK_VER</makevar></entry> + + <entry>表达与 <makevar>WITH_TCL_VER</makevar> + 变量类似的含义, 它同时会隐含将 <makevar>WITH_TCL_VER</makevar> + 设置为相同的值。</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>可用的变量的完整列表, 可以在 + <filename>/usr/ports/Mk/bsd.tcl.mk</filename> 中找到。</para> + </sect1> + <sect1 id="using-emacs"> <title>使用 Emacs</title> @@ -8092,7 +8196,11 @@ etc/orbit.conf.sample <para>另外, 也可以使用 <filename>/usr/ports/Tools/scripts/</filename> 中的 <command>plist</command> 脚本来自动创建 - package list。 第一步和上面一样, 也就是 + package list。 <filename>plist</filename> + 脚本是一个 <application>Ruby</application> 脚本, + 它能够将前面介绍的手工操作自动化。</para> + + <para>开始的步骤和上面的前三行一样, 也就是 <command>mkdir</command>, <command>mtree</command> 并 <command>make depends</command>。 然后构建和安装 port:</para> @@ -8106,6 +8214,11 @@ etc/orbit.conf.sample <para>与前面类似, 如此生成的装箱单也需要手工进行一些清理工作。</para> + <para>另一个可以用来创建最初的 + <filename>pkg-plist</filename> 的工具是 <filename + role="package">ports-mgmt/genplist</filename>。 + 和其他自动化工具类似, 您应对它生成的 <filename>pkg-plist</filename> + 应手工检查并根据需要进行修改。</para> </sect1> </chapter> @@ -11226,6 +11339,29 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00 </row> <row> + <entry>合并了 <function>strndup</function> + 之后的 7.1-STABLE。</entry> + <entry>701101</entry> + </row> + + <row> + <entry>加入了 cpuctl(4) 支持之后的 7.1-STABLE。</entry> + <entry>701102</entry> + </row> + + <row> + <entry>合并了 多/无-IPv4/v6 jail 之后的 7.1-STABLE。</entry> + <entry>701103</entry> + </row> + + <row> + <entry>在 struct mount 中保存了挂起属主, 以及在 struct vfsops + 中引入了 vfs_susp_clean + 方法之后的 7.1-STABLE。</entry> + <entry>701104</entry> + </row> + + <row> <entry>8.0-CURRENT。 分拆了宽字符和单字节字符 ctype。</entry> <entry>800000</entry> @@ -11360,7 +11496,7 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00 <entry>800023</entry> </row> <row> - <entry>坎掉了 <function>lockwaiters</function> 和 + <entry>砍掉了 <function>lockwaiters</function> 和 <function>BUF_LOCKWAITERS</function> 函数, <function>brelvp</function> 的返回值从 void 修改成 int,并引入 &man.lockinit.9; 新标志之后的 @@ -11513,6 +11649,55 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00 8.0-CURRENT。</entry> <entry>800053</entry> </row> + <row> + <entry>增加了 buf_ring、 + 内存栅以及 ifnet 函数, 以方便撰写支持多硬件传输队列的驱动, + 以及无锁环形缓冲实现的驱动程序, 并更高效地管理包队列功能之后的 + 8.0-CURRENT。</entry> + <entry>800054</entry> + </row> + <row> + <entry>引入了 &man.hwpmc.4; 对于 Intel™ + Core,Core2 和 Atom 的支持之后的 8.0-CURRENT。</entry> + <entry>800055</entry> + </row> + <row> + <entry>引入了 multi-/no-IPv4/v6 jail + 之后的 8.0-CURRENT。</entry> + <entry>800056</entry> + </row> + <row> + <entry>将 hal 改为使用源代码之后的 8.0-CURRENT。</entry> + <entry>800057</entry> + </row> + <row> + <entry>引入了 VOP_VPTOCNP 操作之后的 8.0-CURRENT。</entry> + <entry>800058</entry> + </row> + <row> + <entry>引入了新的 arp-v2 重写之后的 8.0-CURRENT。</entry> + <entry>800059</entry> + </row> + <row> + <entry>引入了 makefs 之后的 8.0-CURRENT。</entry> + <entry>800060</entry> + </row> + <row> + <entry>引入了 TCP Appropriate Byte Counting 之后的 8.0-CURRENT。</entry> + <entry>800061</entry> + </row> + <row> + <entry>删去了 minor()、 minor2unit()、 unit2minor() 等之后的 8.0-CURRENT。</entry> + <entry>800062</entry> + </row> + <row> + <entry>在 GENERIC 配置中改为使用 USB2 栈之后的 8.0-CURRENT; 这个数值同时也标志新增了 fdevname(3)。</entry> + <entry>800063</entry> + </row> + <row> + <entry>将 USB2 栈移动并替换 dev/usb 之后的 8.0-CURRENT。</entry> + <entry>800064</entry> + </row> </tbody> </tgroup> </table> @@ -11674,15 +11859,11 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting> <para>如果您的 port 安装到系统上之前需要一些用户, 请使用 <filename>pkg-install</filename> 脚本来调用 <command>pw</command> 以便自动地创建它们。 请参见 - <filename role="package">net/cvsup-mirror</filename> 提供的例子。 - 请注意我们强烈地不推荐这样做。 - 请在前面提到的那两个文件中注册所需的用户/组 ID 号。</para> - - <para>如果您的 port 需要与其编译成安装包时同样的用户/组 ID, - 则必须在 50 到 999 之间选择一个未用的 UID 并在 + <filename role="package">sysutils/symon</filename> 提供的例子。 + 您的 port 必须使用固定的 用户/组 ID 号, + 必须在 50 到 999 之间选择一个未用的 UID 并在 <filename>ports/UIDs</filename> (用于用户) 或 - <filename>ports/GIDs</filename> (用于组) 中进行注册。 请参见 - <filename role="package">japanese/Wnn6</filename> 提供的例子。</para> + <filename>ports/GIDs</filename> (用于组) 中进行注册。</para> <para>如果您的 port 需要在这一范围内预留新的 UID 或 GID 的话, 请同时提交修改这两个文件的补丁。</para> |