[cnproj-cvs] cvs commit: doc/zh_CN.GB2312/books/porters-handbook book.sgml
Xin LI
delphij在cvs.geekcn.org
星期日 一月 2 15:57:52 CST 2011
delphij 2011/01/02 15:57:52 CST
The FreeBSD Chinese Project repository
Modified files: (Branch: CNPROJ)
zh_CN.GB2312/books/porters-handbook book.sgml
Log:
MFen 1.1091 -> 1.1092
Revision Changes Path
1.7.1000.140 +53 -12 doc/zh_CN.GB2312/books/porters-handbook/book.sgml
Index: book.sgml
===================================================================
RCS file: /home/cnproj/doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v
retrieving revision 1.7.1000.139
retrieving revision 1.7.1000.140
diff -p -u -u -I $FreeBSD.*$ -r1.7.1000.139 -r1.7.1000.140
--- book.sgml 28 Dec 2010 08:26:21 -0000 1.7.1000.139
+++ book.sgml 2 Jan 2011 07:57:51 -0000 1.7.1000.140
@@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.1091
- $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.7.1000.139 2010/12/28 08:26:21 delphij Exp $
+ Original Revision: 1.1092
+ $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.7.1000.140 2011/01/02 07:57:51 delphij Exp $
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -3961,26 +3961,67 @@ PORTVERSION= 1.0</programlisting>
</sect1>
<sect1 id="conflicts">
- <title><makevar>CONFLICTS</makevar> (设置与其它包的冲突)</title>
+ <title>处理冲突</title>
- <para>如果您的软件包无法与某些其它软件包共存
- (由于文件冲突, 运行环境不兼容, 等等),
- 将这些包的名字列在 <makevar>CONFLICTS</makevar>
- 变量中。 此处可以使用 shell 通配符, 如 <literal>*</literal> 和
- <literal>?</literal>。 列举软件包的名称时, 应采用
- <filename>/var/db/pkg</filename> 中的形式。 请确认
- <makevar>CONFLICTS</makevar> 不会匹配它本身, 否则将导致
- <makevar>FORCE_PKG_REGISTER</makevar> 无法正常工作。
- </para>
+ <para>针对不同的 package 或 port 之间的冲突情形,
+ 系统提供了不同的变量来协助开发人员进行表达: <makevar>CONFLICTS</makevar>、
+ <makevar>CONFLICTS_INSTALL</makevar> 和
+ <makevar>CONFLICTS_BUILD</makevar>。</para>
<note>
- <para><makevar>CONFLICTS</makevar> 会自动地设置
+ <para>这些用于描述冲突的变量会自动地设置
<makevar>IGNORE</makevar>, 后者的完整介绍,
可以在 <xref linkend="dads-noinstall"> 找到。</para>
</note>
<para>在删去相互冲突的 port 时, 建议将 <makevar>CONFLICTS</makevar>
保留几个月, 以便让那些不经常更新系统的用户能够看到。</para>
+
+ <sect2>
+ <title><makevar>CONFLICTS_INSTALL</makevar></title>
+
+ <para>如果您的软件包不能与某些软件包同时安装
+ (例如由于安装同样的文件到相同的位置、 运行时不兼容等等),
+ 则应把其它软件包的名字列在
+ <makevar>CONFLICTS_INSTALL</makevar> 变量中。 此处可以使用 shell
+ 通配符, 如 <literal>*</literal> 和 <literal>?</literal>。
+ 列出其它软件包的名字时需要遵循它们在
+ <filename>/var/db/pkg</filename> 中出现的样子。 请确保
+ <makevar>CONFLICTS_INSTALL</makevar> 不会匹配到您正制作的这个预编译包的名字,
+ 否则, 使用
+ <makevar>FORCE_PKG_REGISTER</makevar> 来强制安装就没有办法进行了。
+ 对于 CONFLICTS_INSTALL 的检查是在联编过程之后、
+ 安装开始之前进行的。</para>
+ </sect2>
+
+ <sect2>
+ <title><makevar>CONFLICTS_BUILD</makevar></title>
+
+ <para>如果您的软件包在系统中存在某些其它软件包时不能完成联编,
+ 则应把其它软件包的名字列在
+ <makevar>CONFLICTS_BUILD</makevar> 变量中。 此处可以使用 shell
+ 通配符, 如 <literal>*</literal> 和 <literal>?</literal>。
+ 列出其它软件包的名字时需要遵循它们在
+ <filename>/var/db/pkg</filename> 中出现的样子。
+ 对于 CONFLICTS_BUILD 的检查是在联编过程开始之前进行的。
+ 联编时的冲突不会在编译好的包中予以记录。</para>
+ </sect2>
+
+ <sect2>
+ <title><makevar>CONFLICTS</makevar></title>
+
+ <para>如果您的 port 在某些其它 port 已经存在的情况下既不能联编,
+ 也不能安装, 则应把其它软件包的名字列在
+ <makevar>CONFLICTS</makevar> 变量中。 此处可以使用 shell
+ 通配符, 如 <literal>*</literal> 和 <literal>?</literal>。
+ 列出其它软件包的名字时需要遵循它们在
+ <filename>/var/db/pkg</filename> 中出现的样子。 请确保
+ <makevar>CONFLICTS</makevar> 不会匹配到您正制作的这个预编译包的名字,
+ 否则, 使用
+ <makevar>FORCE_PKG_REGISTER</makevar> 来强制安装就没有办法进行了。
+ 对于 CONFLICTS 的检查是在联编过程之后、
+ 安装开始之前进行的。</para>
+ </sect2>
</sect1>
<sect1 id="install">
关于邮件列表 cnproj-cvs 的更多信息