![我可以仅使用 PKGBUILD 文件从源代码构建,还是必须签出整个源代码树?](https://linux22.com/image/145814/%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BB%85%E4%BD%BF%E7%94%A8%20PKGBUILD%20%E6%96%87%E4%BB%B6%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA%EF%BC%8C%E8%BF%98%E6%98%AF%E5%BF%85%E9%A1%BB%E7%AD%BE%E5%87%BA%E6%95%B4%E4%B8%AA%E6%BA%90%E4%BB%A3%E7%A0%81%E6%A0%91%EF%BC%9F.png)
我想在 Arch Linux 中从源代码构建 Vim,以在生成的二进制文件中获得各种非标准功能。我注意到 PKGBUILD 文件中有 URL。这是否意味着我可以仅使用此文件进行构建?
$ asp export vim
(modify PKGBUILD as needed)
$ sudo makepkg
...或者我需要检查整个源代码树吗?
答案1
使用asp
,您有两个选项,都记录在man
页面中。第一个是获取构建文件export
::
export TARGET...
将每个目标的构建源文件转储到 $PWD 中目标名称的目录中。目标可以简单地指定为包来签出 HEAD 处的源文件,或者以存储库/包格式来签出用于推送存储库中存在的包的源文件。
并且checkout
还获取构建文件,但在此过程中初始化 git 存储库。
checkout TARGET...
创建一个新的 git 存储库,其中包含每个给定目标的完整源代码和历史记录。新的存储库将从 $ASPROOT 中的存储库中拉取,并且必须在使用 asp update 后单独更新。如果签出发生在与 $ASPROOT 相同的文件系统上,则大多数元数据都可以硬链接,从而使其成为相对便宜的副本。