MFen 1.589 -> 1.594
Obtained from: The FreeBSD Simplified Chinese Project CVS
This commit is contained in:
parent
c061824a54
commit
5b2e49d648
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=25234
1 changed files with 82 additions and 18 deletions
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue