aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312
diff options
context:
space:
mode:
Diffstat (limited to 'zh_CN.GB2312')
-rw-r--r--zh_CN.GB2312/books/porters-handbook/book.sgml207
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: &lt;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: &lt;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: &lt;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&trade;
+ 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>