想象一下,你不仅可以使用 pacman 来安装二进制包,还可以从源码构建这些包(并加上你自己的优化)。更妙的是,升级时还能记住哪些包是预编译的,哪些是现场编译的。
现在,想象一下 pacman 实际上并不处理这个功能,因为那些坚守 KISS 原则的人会抱怨太多,而你会无法在盯着 gcc 的输出时思考。想象一下,有一个 pacman 的包装器来为你处理这一切。
隆重推出 srcpac。灯光亮起,音乐达到高潮,特写!
srcpac 的工作方式与 pacman 完全相同(嗯,至少应该是这样),只是你在 -S (--sync) 后面加上一个小的额外选项 -b (或 --build) 来从源码构建而不是从二进制包安装。
我们来看一个例子
srcpac -Sb w3m 将编译 w3m,安装它,并记住它是被编译过的
srcpac -Sybu 将通过编译升级所有需要升级的包,并记住它们是被编译过的(这个要小心,它会包含之前没有被编译过的包)。
srcpac -Syu 将通过安装二进制文件升级所有二进制包,并通过从源码编译来升级所有源码包。
srcpac -Qi w3m 还额外增加了一行,“Source”,带有简单的“yes”或“no”。
你可以通过 pacman -S srcpac 来安装 srcpac。从那时起,你应该使用 srcpac 而不是 pacman。
我还增加了对包配置文件的支持。可以看看示例 /etc/srcpac.conf 条目。
发布的版本还为 -S 增加了 -o 选项。这将应用配置文件更改并解析 PKGBUILDs,而无需进行任何构建。
注意:-r 选项尚未完全实现,在某些情况下可能会安装到 /,我非常确定在使用 -r 指定时我不会写入 /,但我也无法百分之百确定。