也许是一个愚蠢的问题,但我对此很陌生 - 所以请多多包涵。
以下是情况的简要说明:
我最近了解到一个长期存在的重大错误
dhcpcd
- RPi OS 的默认网络管理器。dhcpcd
巧合的是,有人向最近提交的 GitHub 站点提交了一个拉取请求。RPi 组织不会
dhcpcd
在 GitHub 上发布其源代码,但可以通过apt-get source dhcpcd5
. 这产生了一个新文件夹 (~/dhcpcd5-8.1.2
)、一个.dsc
文件(有几个不准确之处)和一个压缩tar
文件 (dhcpcd5_8.1.2.orig.tar.xz
) - 没有diff.gz
文件/文件夹。我已经合并了简单的源代码更正(一行代码),并且学到了足够的知识来成功构建一个新.deb
文件。我已经在我的 3 个系统上安装并测试了该.deb
文件;它解决了问题并且我没有发现任何副作用不久前,我已将我的发现告知 RPi 组织中的一个人,但没有得到任何反馈。显然,没有地方可以提交用户对 Debian 软件包源文件提出的更改 - 没有拉取请求机制 iow。
我想分享我的努力。我想到可能(应该?)有一种方法可以有效地从 Debian 软件包dhcpcd
源文件的内容创建一个 git repo。我知道足以git
将内容上传~/dhcpcd5-8.1.2
到 GitHub 存储库;但我的问题是:
该文件夹
~/dhcpcd5-8.1.2
包含一些二进制文件。我认为这些文件是在此debuild
过程中创建的。如何从 中的源中清除二进制文件~/dhcpcd5-8.1.2
?中有几个补丁
dhcpcd5-8.1.2/debian/patches
;我可以安全地依靠2016 年的这些答案来确保所有补丁都应用于源代码吗?由于我知道的不够多,无法再问任何问题,所以我会问:“这行得通吗?” 这意味着如果删除所有二进制文件,并应用当前更改和所有以前的补丁——没有特定专业知识的人是否能够克隆我想要创建的 GitHub 存储库,并使用构建它
debuild -b -uc -us
?
要清理 Debian 软件包,即删除所有生成的文件并将源恢复到其初始状态,请运行
dhcpcd5
是一个“3.0(被子)”格式的包,所以用apt source
etc. 提取它会提取它并应用任何补丁。您可以通过运行进一步确保这一点如果您在本地构建
debuild
的内容是使用.orig
. 请注意,您的存储库应该包含未应用补丁的源,即您应该运行在提交更改并推送存储库之前。
有一个 Debian git 存储库
dhcpcd5
,但它已经很久没有维护了,在这里可能无关紧要。