Debian

如何查看 .patch 與 Debian 原始碼包中的被子所做的更改?

  • May 12, 2020

我已經從 Debian sid中​​提取了luajitwith的原始碼包。apt source luajit由於包是通過相同的命令解包的,我看到了下一條消息:

dpkg-source: info: applying 0002-Enable-debugging-symbols-in-the-build.patch

雖然我沒有要求自動應用任何更新檔,但我想回顧一下這個更新檔做了什麼,並可能恢復它。

在源包的解壓縮目錄中,該命令what-patchquilt. 自從第一次這樣做以來,我已經從 sid 安裝了被子(v0.66),然後去cd ./debian/patches嘗試做:

quilt diff -P ./0002-Enable-debugging-symbols-in-the-build.patch

更清楚地了解這個更新檔應該在上游程式碼中做什麼;然而,被子卻奇怪地回答:

Patch ./0002-Enable-debugging-symbols-in-the-build.patch is not in series

所以我查看了./series文件cat ./series並清楚地看到了這一行:

0002-Enable-debugging-symbols-in-the-build.patch

那裡提到了其他 7 個更新檔(1 個之前,6 個之後)。那麼,缺少什麼?我去man quilt閱讀diff命令說:

在最頂層或指定更新檔中生成指定文件的差異。如果未指定文件,則包括所有修改的文件。

而且,-P開關會:

為指定的更新檔創建一個差異。(預設為最上面的更新檔。)

似乎我無法弄清楚被子有什麼問題,因為我以前從未這樣做過,並且聯機幫助頁 + Debian wiki 在他們的教程中有點過了。

事實證明,在命令末尾與quilt diff’s-P和 the是一個微不足道的混淆。顯然,更新檔文件名之前的前綴在使用時破壞了被子的解析度,或者根本不期望。因此正確的語法是:[file ...]``quilt diff``./``./series``-P``-P``./

quilt diff -P ./0002-Enable-debugging-symbols-in-the-build.patch

是:

quilt diff -P 0002-Enable-debugging-symbols-in-the-build.patch

現在它按預期顯示差異。

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