These are the packages that I would merge, in order:
Calculating dependencies
!! all ebuilds that could satisfy "cowsay" have been masked.
!! possible candidates are:
- games-misc/cowsay-3.03 (masked by: missing keyword)[/code:1]
测试软件包
你也许想要自己测试一个软件包看它能不能工作,不管它是否被屏蔽了。而我们不建议普通用户这么做,只有那些希望帮助开发者测试软件包的用户才能毫无顾忌地解除屏蔽并在自己的系统上安装并运行他们。只要增加关键字“ppc-macos”到该软件包的信息文件,或像我们那样称之为“ebuild”,即可。想要增加“ppc-macos”到一个ebuild文件,你可以使用命令“ekeyword”,它是作为gentoolkit-dev软件包的一个组件被安装的。
[code:1]代码 2.3: 安装 gentoolkit-dev
# emerge gentoolkit-dev[/code:1]
[code:1]代码 2.4: 给一个软件包增加关键字
# cd /usr/portage/games-misc/cowsay
# ekeyword ppc-macos cowsay-3.03.ebuild
# ebuild cowsay-3.03.ebuild digest[/code:1]
如果该软件包编译成功并且完全运行了,请提交一份bug到 Gentoo Bugzilla (免费会员要求)来通知我们该软件能工作(或者尽管提交bug给我们的Gentoo for Mac OS X开发团队,邮箱是[email protected])。如果它不工作,就请提交一份bug给我们,附带你所收到的错误信息(通常这会有很多错误;复制并且粘贴在你看起来像错误的第一段到最后一段信息)。
对大多数软件包而言,它们需要X11的运行支持,所以你需要安装X11开发软件包。若在XCode安装进程中没有选择安装它,你之后可以从 X11SDK.pkg 文件中去安装,该文件能在你的XCode1.2的CD中的 Packages 目录中找到(双击进行安装)。你不能尝试去emerge portage。这是我们对于那些依赖于Portage的软件包的一个工作区(譬如gentoolkit)。
卸载脚本
要卸载Gentoo for Mac OS X,你可以使用 卸载脚本 ,它允许你选择是否想要unmerge你用Gentoo for MacOS安装的软件包。
[code:1]代码 4.1: 卸载 Gentoo for Mac OS X
# sudo perl uninstall.pl[/code:1]
注意: 要卸载,你必须以root权限运行卸载脚本。
5. 可获得的软件包
概览
有好几种方法去查看含有关键字“ppc-macos”的软件包列表,也就是在Mac OS X中被注为稳定的软件包。因为目前有许多开发正积极努力地争取作为稳定的软件包被Gentoo for Mac OS X所承认,所以我们鼓励用户们时常去检查可获得的软件包列表。
冲突保护
自动冲突保护是Gentoo for MacOS的一大特性,它能防止Portage覆盖那些原本并不自置于那儿的文件。这个特性能利用 FEATURES="-collision-protect" 来关闭。
[code:1]代码 6.1: 允许portage覆盖Mac OS X的文件
# FEATURES="-collision-protect" emerge autoconf[/code:1]
警告: 关闭冲突保护极其危险,这有可能会导致系统不再工作。
emerge命令没找到
Gentoo for Mac OSX 安装程序通过增加 /usr/lib/portage/bin 到你的 PATH 环境变量来更新 /etc/profile 文件。为了简单运行 emerge ...,你也许要键入 “source /etc/profile” 或者登出再登录以避免键入完整路径(/usr/lib/portage/bin/<toolname>)来运行Portage工具。
<library>.a 出错
在安装 <library>.a 文件时,ranlib的运行用来确保库文件参考了合适的路径。当一个ebuild在执行 make install 时,文件事实上是被安装到了 /var/tmp/portage <package>/image 而非实际的活动文件系统(livefs)。 这意味着ebuild安装的库文件参考了错误的路径。这个问题只存在于darwin内核和其 <library>.a 文件中,而Gentoo for Mac OS X开发团队却一直在这方面努力工作。
根据Gentoo for Mac OS X的政策方针,安装库文件的ebuild必须在被赋予关键字“ppc-macos”前接受检查,以确保它们处于正常的工作状态。大多数情况下,库文件不工作的原因仅仅是因为它们参考了错误的路径。 对于那些不在这里的冒险者来说,对此这只是一个简单的小任务罢了。此外, ranlib 命令能修正库文件中错误路径的参考。
[code:1]代码 6.2: 使用 ranlib 来修复无效的库文件
(用 “/usr/lib/libjpeg.a” 代替无效的库文件)
# ranlib /usr/lib/libjpeg.a[/code:1]
Portage的依赖关系
一些软件包是依赖于正在被安装的Portage的。就目前对Portage来说这还是个大问题:它并不知道自己已经被安装了。而Gentoo for OS X开发团队正致力于解决这个bug,这只是一个简单的工作区。尝试emerge任何软件包而忽略它的依赖关系是完全可能的。这就能用来避免Portage 的依赖关系,但是不能用于其它依赖关系。
[code:1]代码 6.3: 在emerge时忽略依
# emerge --nodeps gentoolkit[/code:1]