例如(不一定是事实),Gentoo 有一个 ebuild ,它在源代码中硬编码git
了默认分支名称。main
Alice作为Gentoo的用户,希望将其更改为master
构建之前,以便恢复原来的默认分支名称。
虽然 Gentoo 可能不接受这样的补丁,但 Alice 仍然可以在 Portage 进行 ebuild 之前应用用户空间补丁。
有这样的方法可以实现吗?
答案1
听起来你正在寻找/etc/portage/patches
目录。https://wiki.gentoo.org/wiki//etc/portage/patches
放置在此处(特别是在/etc/portage/patches/${CATEGORY}/${P}
tec.)的补丁将在构建期间应用,(通常)不需要对 ebuild 进行任何更改。 Wiki 页面讨论了 EAPI 5 和 6,但大多数树现在使用 EAPI 6 或更高版本,因此您不太可能遇到问题。如果您将补丁放在软件包名称下(无版本),那么 portage 将尝试将其应用到您构建的软件包的每个版本。
我发现它对于在提交包含之前测试上游修复非常有用,而无需为 KDE 等主要软件设置单独的开发/构建环境。