MFen 1.589 -> 1.594

Obtained from:	The FreeBSD Simplified Chinese Project CVS
This commit is contained in:
Xin LI 2005-07-24 12:29:42 +00:00
parent c061824a54
commit 5b2e49d648
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=25234

View file

@ -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>