如何在FreeBSD上安装删除的端口

我维护一个依赖于Postgis 1.5的代码库。 我的本地开发虚拟机正在运行FreeBSD 9.2。 我最近一直在修补软件包和无意中删除了postgis,所以我试图重新安装,只是发现1.5 postgis端口已经从端口树中删除。 我怎样才能得到这个端口? 我知道我可以从源代码安装,但我宁愿让它受到pkg控制。

TLDR: svn co svn://svn.freebsd.org/ports/head /usr/ports

我猜你刚刚删除了实际的端口树目录。 在这种情况下,您需要使用svn从中央FreeBSD存储库检索ports树的相关部分。 这个入门将帮助你实现,最相关的你可能是“部分结帐”部分。 如果这太费时,只需检查整个端口树,并抓住你所需要的,并确保你有足够的磁盘空间来保存它。

重要的人生教训:

  1. 不要与重要的系统“鼓捣”。
  2. 如果你打算忽略(1)和用虚拟机“叮叮当当”,那么为了小猫的爱,快照!

正如你发现Postgis 1.x不再出现在ports树中,我也没有看到它的任何包(这是从2012年,所以你不应该为此感到惊讶!它早于你的操作系统运行…)。

如果您想自己构build此端口,则需要从SVN中检索端口树,并检出仍包含postgis 1.5端口的修订版。 在FreeBSD手册和svn文档( RELEASE_8_4_0似乎包含postgis 1.5.3)中可以find这样做的说明。

如果一个端口已经被删除,那么你可以通过SVN将它从垃圾箱中取出,但是不能保证继续工作。 FreeBSD中的大多数端口现在都是“上演”的,这是一个改进软件包构build的基础架构变更。

无论如何,你可以在这里看到港口的历史:

http://www.freshports.org/databases/postgis/

你可以看到它在修订版本340004中被删除了,所以在此之前查看最新版本

svn co -r 340003 svn://svn.freebsd.org/ports/head/databases/postgis / usr / ports / databases /

并正常编译。 它可能会打破,尤其是因为它可能取决于旧版本的东西,如Perl和Postgres

您可能会更好地从当时检查整个端口树并使用它,但是然后您缺less所有的安全更新。