Debian

在 GitHub 上使用 Debian“源包”的轉換

  • April 21, 2022

也許是一個愚蠢的問題,但我對此很陌生 - 所以請多多包涵。

以下是情況的簡要說明:

  1. 我最近了解到一個長期存在的重大錯誤dhcpcd- RPi OS 的預設網路管理器。dhcpcd巧合的是,有人向最近送出的 GitHub 站點送出了一個拉取請求。
  2. 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文件;它解決了問題並且我沒有發現任何副作用
  3. 不久前,我已將我的發現告知 RPi 組織中的一個人,但沒有得到任何回饋。顯然,沒有地方可以送出使用者對 Debian 軟體包源文件提出的更改 - 沒有拉取請求機制 iow。

*我想分享我的努力。*我想到可能(應該?)有一種方法可以有效地從 Debian 軟體包dhcpcd源文件的內容創建一個 git repo。我知道足以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. 要清理 Debian 軟體包,刪除所有生成的文件並將源恢復到其初始狀態,請執行
fakeroot debian/rules clean
  1. dhcpcd5是一個“3.0(被子)”格式的包,所以用apt sourceetc. 提取它會提取它並應用任何更新檔。您可以通過執行進一步確保這一點
quilt push -a
  1. 如果您在本地建構debuild的內容是使用.orig. 請注意,您的儲存庫應該包含未應用更新檔的源,您應該執行
quilt pop -a

在送出更改並推送儲存庫之前。

一個 Debian git 儲存庫dhcpcd5,但它已經很久沒有維護了,在這裡可能無關緊要。

引用自:https://unix.stackexchange.com/questions/699798