Debian“源码包”的转换以供在 GitHub 上使用

Debian“源码包”的转换以供在 GitHub 上使用

也许是一个愚蠢的问题,但我对此很陌生 - 所以请耐心等待。

这里有一个简单的描述情况

  1. dhcpcd我最近了解到RPi 操作系统的默认网络管理器中存在一个重大且长期存在的错误。巧合的是,有人向dhcpcdGitHub 站点提交了最近提交的拉取请求。

  2. 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 个系统上安装并测试了该文件;它解决了问题并且我没有发现副作用

  3. 不久前,我已将我的发现告知 RPi 组织中的一个人,但没有得到任何反馈。显然没有地方可以提交用户对 Debian 软件包源文件提出的更改 - 没有拉取请求机制低。

我想分享我的努力。我突然想到,可能(应该?)有一种方法可以让我有效地从 Debian 软件包dhcpcd源文件的内容创建 git 存储库。我知道的足以git将内容上传~/dhcpcd5-8.1.2到 GitHub 存储库;但我的问题这些是

  1. 该文件夹~/dhcpcd5-8.1.2包含一些二进制文件。我思考这些文件是在此debuild过程中创建的。如何从 的源中清除二进制文件~/dhcpcd5-8.1.2

  2. 有几个补丁dhcpcd5-8.1.2/debian/patches;我可以放心地依靠吗这些答案来自 2016 年确保所有补丁都应用于源代码?

  3. 由于我不够了解,无法提出任何进一步的问题,所以我会问:“这行得通吗?”这意味着如果所有二进制文件都被删除,并且应用当前的更改和所有以前的补丁 - 没有特定专业知识的人是否能够克隆我想要创建的 GitHub 存储库,并使用它来构建它debuild -b -uc -us

答案1

  1. 要清理 Debian 软件包,IE删除所有生成的文件并将源恢复到初始状态,运行

    fakeroot debian/rules clean
    
  2. dhcpcd5是一个“3.0(quilt)”格式的包,因此使用apt sourceetc解压它将会解压它并应用任何补丁。您可以通过运行进一步确保这一点

    quilt push -a
    
  3. 如果您在本地使用 构建debuild,那么是的,按原样推送您的存储库将产生其他人可以构建的东西,只要他们也可以检索相应的.origtarball。请注意,您的存储库应包含带有补丁的源未应用的,IE你应该跑

    quilt pop -a
    

    在提交更改并推送存储库之前。

Debian git 存储库dhcpcd5,但它已经维护了很长时间,并且可能与这里无关。

相关内容