我正在编辑和测试我想通过macport构建的软件包。有没有办法可以强制macports从我的存储库中获取和构建包?我编辑了我的Portfile以指向单个存储库,但它似乎忽略了它。
答案 0 :(得分:1)
MacPorts在内部使用curl下载文件,这为您提供了几个选项来切换下载内容:
master_sites
属性中的file:// URL指向本地目录。请注意,fetch作为macports
用户运行,因此请确保允许用户从该目录中读取文件。port distfiles $portname
以查找可以缓存文件的本地路径。fetch.type git
,git.url
设置为git clone
将接受克隆您的存储库(可以是本地存储)以及可选git.branch
的任何内容来切换到用于获取的git你想要查看的承诺。有关详细信息,请参阅https://guide.macports.org/#reference.phases.fetch.git。同样,如果您使用本地git存储库,请确保macports
用户可以读取本地文件。请注意,MacPorts默认缓存文件下载(此时不会对版本控制系统应用缓存),因此如果您没有修改文件名,则必须运行sudo port clean --dist $portname
来删除缓存。 / p>
在构建端口的修改版本时,您还需要注意其他一些要点:
-s
标记传递给port
以强制从源代码构建。解决这两个潜在陷阱的最简单的解决方案可能是sudo port destroot $portname
而不是sudo port install
。这将运行所有步骤(包括)make install
,但实际上不会将文件放入/opt/local
。如果您可以在port work $portname
的构建目录中调试需要调试的内容,这将简化操作。