diff options
author | Xin LI <delphij@FreeBSD.org> | 2005-07-24 12:29:42 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2005-07-24 12:29:42 +0000 |
commit | 5b2e49d648ad5fd97fa52228e706101b92bef426 (patch) | |
tree | b9eb67111d0da8a5b0fd44d232f958ee31a305f0 /zh_CN.GB2312/books/porters-handbook | |
parent | c061824a5461011320205e530a3166da6360d015 (diff) |
Notes
Diffstat (limited to 'zh_CN.GB2312/books/porters-handbook')
-rw-r--r-- | zh_CN.GB2312/books/porters-handbook/book.sgml | 100 |
1 files changed, 82 insertions, 18 deletions
diff --git a/zh_CN.GB2312/books/porters-handbook/book.sgml b/zh_CN.GB2312/books/porters-handbook/book.sgml index 1ae9bbac4a..33a1b36fd0 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.589 + Original Revision: 1.594 $FreeBSD$ --> @@ -1984,8 +1984,8 @@ PORTEPOCH= 1</programlisting> <listitem> <para>(此外, 作为一项加分因素, - 您还可以提供一些其它需要修改的文件, - 按照 Committer 指南所介绍的流程。)</para> + 您还可以按照 Committer 指南所介绍的流程, + 提供一些其它需要修改的文件。)</para> </listitem> </itemizedlist> </step> @@ -2927,7 +2927,12 @@ PATCHFILES= patch1:test</programlisting> <para><replaceable>lib</replaceable> 部分是一个正则表达式, 用于在 <command>ldconfig -r</command> 的输出中进行查找。 可以使用类似 <literal>intl.[5-7]</literal> 和 <literal>intl</literal> 这样的值。 - 后者表示任意主版本号的 <literal>intl</literal> 库。</para> + 前一种模式, 即 + <literal>intl.[5-7]</literal>, 能够匹配 + <literal>intl.5</literal>、 <literal>intl.6</literal> 和 + <literal>intl.7</literal> 中的任意一个。 第二种模式, 即 + <literal>intl</literal> 则可以匹配任意版本的 + <literal>intl</literal> 库。</para> </note> <para>依赖关系会被检测两次, 一次是在 @@ -8548,13 +8553,11 @@ bacula:*:910:</programlisting> </sect1> <sect1 id="dads-noinstall"> - <title>将 port 标记为 <makevar>BROKEN</makevar>, - <makevar>FORBIDDEN</makevar>, 或以其它方式阻止安装</title> + <title>使用 <makevar>BROKEN</makevar>、 + <makevar>FORBIDDEN</makevar> 或 <makevar>IGNORE</makevar> + 标记不可安装的 port</title> - <para>某些时候, 需要阻止用户安装某个 port。 - 例如, 有时可能某个 port 包含了某些安全漏洞, - 或彻底无法使用, 或基本上过时了, - 但由于某种原因仍然在代码库中 (以便有人能修好它们, 对吗?)。 + <para>某些时候会需要阻止用户安装某个 port。 想要告诉用户某个 port 不应被安装, 有许多可以在 port 的 <filename>Makefile</filename> 中使用的 <command>make</command> 变量。 下列 @@ -8566,12 +8569,38 @@ bacula:*:910:</programlisting> <link linkend="portsmon">portsmon</link>, 都依赖于 <filename>Makefile</filename> 的正确性。</para> + <sect2 id="dads-noinstall-variables"> + <title>变量</title> + <itemizedlist> <listitem> - <para><makevar>BROKEN</makevar> 用来表示 port 无法编译或安装。 - 这将防止用户把时间浪费在安装这些 port 上。 - 构建集群仍然会尝试构建, - 以确认是否导致其无法编译的问题已经被解决。</para> + <para><makevar>BROKEN</makevar> 专门用于表达目前无法正确编译、 + 安装或卸载这类问题。 如果是临时性的问题, 则可以使用它。 + 构建集群仍将尝试构建它, 以确认导致问题的深层问题是否已被解决。 + 举例来说, 当 port 发生下述情况时, 应使用 + <makevar>BROKEN</makevar>:</para> + + <itemizedlist> + <listitem> + <para>无法编译 (does not compile)</para> + </listitem> + + <listitem> + <para>无法正确进行配置或安装操作</para> + </listitem> + + <listitem> + <para>在 + <filename>${LOCALBASE}</filename> 和 + <filename>${X11BASE}</filename> 以外的地方安装文件</para> + </listitem> + + <listitem> + <para>卸载时无法删除所安装的全部文件 (不过, + 留下用户改过的文件可接受的, 因为可能希望这样作)</para> + </listitem> + </itemizedlist> + </listitem> <listitem> @@ -8591,7 +8620,8 @@ bacula:*:910:</programlisting> <listitem> <para><makevar>IGNORE</makevar> 用来表示 port - 由于某些其他原因不应予以构建。 任何情况下, + 由于某些其他原因不应予以构建。 如果认为发生了结构性的问题, + 则应使用它。 任何情况下, 构建集群都不会构建标记为 <makevar>IGNORE</makevar> 的 port。 以下是使用 <makevar>IGNORE</makevar> 的一些例子:</para> @@ -8615,18 +8645,23 @@ bacula:*:910:</programlisting> </listitem> <listitem> - <para>无法与已经安装的某个 port 一同工作</para> + <para>无法与的某个已安装的 port 一同工作 (例如, port 依赖于 + <filename role="package">www/apache21</filename> 而安装的则是 + <filename role="package">www/apache13</filename>)</para> </listitem> </itemizedlist> <note> <para>如果 port 与某个已经安装的 - port 冲突, 则应 <link linkend="conflicts">使用 + port 冲突 (例如, 它们在同一位置安装同名但功能不同的文件), + 则应 <link linkend="conflicts">使用 <makevar>CONFLICTS</makevar> 来标记它</link>。 <makevar>CONFLICTS</makevar> 将自动地设置 <makevar>IGNORE</makevar>。</para> </note> + </listitem> + <listitem> <para>如果 port 只应在某些平台上标记为 <makevar>IGNORE</makevar>, 还有另外两个方便使用的 <makevar>IGNORE</makevar> 变量可供选择: @@ -8640,9 +8675,38 @@ bacula:*:910:</programlisting> </itemizedlist> + </sect2> + <sect2 id="dads-noinstall-notes"> + <title>实现说明</title> + + <para>由于 <filename>bsd.port.mk</filename> 和其他一些地方 + <makevar>IGNORECMD</makevar> 的一些特殊用法, + <makevar>BROKEN</makevar> 的值应该用引号括起来, + 而 <makevar>IGNORE</makevar> 则不能用引号括起来。</para> + + <para>此外, 由于显示给用户的方式不同, + 这些字串的措辞也应有所不同。 例如:</para> + + <programlisting>BROKEN= "this port is unsupported on FreeBSD 5.x"</programlisting> + + <programlisting>IGNORE= is unsupported on FreeBSD 5.x</programlisting> + + <para>它们分别会在 + <command>make describe</command> 时产生下面的输出:</para> + + <programlisting>===> foobar-0.1 is marked as broken: this port is unsupported on FreeBSD 5.x.</programlisting> + + <programlisting>===> foobar-0.1 is unsupported on FreeBSD 5.x.</programlisting> + </sect2> + </sect1> + + <sect1 id="dads-deprecated"> + <title>可以用 <makevar>DEPRECATED</makevar> + 或 <makevar>EXPIRATION_DATE</makevar> 表示某个 port 将被删除。</title> + <para>一定要记得 <makevar>BROKEN</makevar> 和 <makevar>FORBIDDEN</makevar> 只应作为当某个 port - 无法升级时的最终解决方案。 永久性地坏掉了的 port 应被从 ports tree + 无法正常工作时的临时解决方案。 永久性地坏掉了的 port 应被从 ports tree 中完全删除。</para> <para>需要时还可以使用 <makevar>DEPRECATED</makevar> |