Debian
如何查看 .patch 與 Debian 原始碼包中的被子所做的更改?
我已經從 Debian sid中提取了
luajit
with的原始碼包。apt source luajit
由於包是通過相同的命令解包的,我看到了下一條消息:dpkg-source: info: applying 0002-Enable-debugging-symbols-in-the-build.patch
雖然我沒有要求自動應用任何更新檔,但我想回顧一下這個更新檔做了什麼,並可能恢復它。
在源包的解壓縮目錄中,該命令
what-patch
以quilt
. 自從第一次這樣做以來,我已經從 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
現在它按預期顯示差異。