如何安装旧的 ebuild,如果它不再存在于 portage 树中?例如,subversion 1.4.4

如何安装旧的 ebuild,如果它不再存在于 portage 树中?例如,subversion 1.4.4

出于兼容性原因,我想要安装subversion-1.4.4-r4而不是最新的。

答案1

正如 webdestroya 所说,您需要找到旧的 ebuild 并将其放入覆盖层中。第一部分相当简单,因为 Portage 树存储在 CVS 存储库中,可在线浏览(你也可以查阅副本如果你想要的话,虽然只获得一个 ebuild 是不必要的。这是直接链接到dev-util/subversion文件夹它将显示所有版本的 Subversion 的 ebuild,可以追溯到...嗯,比您需要的要早得多。

获得 ebuild 后,您应该将其放入本地覆盖中,这也相当容易。如果您已经有本地覆盖,您知道如何执行此操作 ;-),但如果没有:创建目录/usr/local/portage/dev-util/subversion。在其中,您需要设置以下结构:

subversion/
 |- subversion-1.4.4-r4.ebuild
 |- files/
    |- subversion-1.4-db4.patch
    |- subversion-1.1.1-perl-vendor.patch
    |- subversion-hotbackup-config.patch
    |- subversion-1.3.1-neon-config.patch
    |- subversion-apr_cppflags.patch
    |- subversion-1.4.3-debug-config.patch
    |- subversion-1.4.3-neon-0.26.3.patch

所有文件都应从 CVS 存储库的 Web 界面下载。将文件放到位后,运行

ebuild /usr/local/portage/dev-util/subversion/subversion-1.4.4-r4.ebuild manifest

这将创建清单文件,其中列出了 ebuild、补丁和源存档的校验和及文件大小。(如果这是较新的 ebuild,您可以从 CVS 存储库下载清单,但是当这个 ebuild 还是最新版本时,Portage 使用不同的系统来检查文件完整性。)

最后,一旦文件到位,添加行

PORTDIR_OVERLAY="/usr/local/portage"

到你的make.conf。然后你应该能够emerge =dev-util/subversion-1.4.4-r4。但不保证编译会成功……

答案2

如果您想安装 portage 树中没有的东西,您必须自己寻找/创建 ebuild。

从那里您可以将其添加到树中并安装它。

相关内容