修改后的 PKGBUILD 文件能否通过使用 AUR 助手进行更新而保留下来?

修改后的 PKGBUILD 文件能否通过使用 AUR 助手进行更新而保留下来?

我在 Arch Linux 系统上使用 AUR 助手 (Yay)。我想在编译某个软件包 (ffmpeg-git) 之前修改该软件包的 PKGBUILD 文件 (我正在启用硬件编码/解码)。

我想我知道如何做到这一点

yay --editmenu -S ffmpeg-git

并使用编辑器从“内部”添加必要的开关。Yay。升级系统时,我可以做或多或少相同的事情。

但这似乎有点笨重。Arch Linux“想要”频繁更新,而我更希望减少每次更新所需的时间。

答案1

使用 AUR 助手时对 PKGBUILD 进行持久修改的问题在于,根据您使用的助手,您可能根本没有缓存修改后的 PKGBUILD,或者可能需要覆盖本地修改才能正确地提取 -git 包的更新。

在一般情况下,这个问题可以通过以下方法解决自定义包(以及各种克隆或重新发明,它们运行任意命令或补丁而不是配置键),但许多 AUR 助手并未实现这一点。许多有经验的用户会选择git commit自己对 PKGBUILD 进行更改,并将其视为他们手动构建的个人维护包,定期使用它git pull --rebase来检索对 PKGBUILD 的更改,然后在上面重放他们自己的更改。

“yay” 是一个 AUR 助手,它(如其手册页所述)面向批量交互,并尽量减少关注更新所花费的时间。因此,即使它实现了customizepkg,它也不会检测元数据的更新(例如添加的依赖项),因为它不会在修改 PKGBUILD 后重新解释它。在内部,它使用 AUR 的 json 接口来解析所有递归包依赖项,甚至在下载任何 PKGBUILD 之前。

相关内容