也许是一个愚蠢的问题,但我对此很陌生 - 所以请耐心等待。
这里有一个简单的描述情况:
dhcpcd
我最近了解到RPi 操作系统的默认网络管理器中存在一个重大且长期存在的错误。巧合的是,有人向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
文件。我已经.deb
在我的 3 个系统上安装并测试了该文件;它解决了问题并且我没有发现副作用不久前,我已将我的发现告知 RPi 组织中的一个人,但没有得到任何反馈。显然没有地方可以提交用户对 Debian 软件包源文件提出的更改 - 没有拉取请求机制低。
我想分享我的努力。我突然想到,可能(应该?)有一种方法可以让我有效地从 Debian 软件包dhcpcd
源文件的内容创建 git 存储库。我知道的足以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
?
答案1
要清理 Debian 软件包,IE删除所有生成的文件并将源恢复到初始状态,运行
fakeroot debian/rules clean
dhcpcd5
是一个“3.0(quilt)”格式的包,因此使用apt source
etc解压它将会解压它并应用任何补丁。您可以通过运行进一步确保这一点quilt push -a
如果您在本地使用 构建
debuild
,那么是的,按原样推送您的存储库将产生其他人可以构建的东西,只要他们也可以检索相应的.orig
tarball。请注意,您的存储库应包含带有补丁的源未应用的,IE你应该跑quilt pop -a
在提交更改并推送存储库之前。
有Debian git 存储库dhcpcd5
,但它已经维护了很长时间,并且可能与这里无关。