Debian
在 debian 包中應用更新檔 - 第 2 部分
我曾問過在這裡應用更新檔。我今天嘗試在不同的源包上使用相同的過程,但失敗了。分享——
~/games $ mkdir decopy ~/games/decopy $ apt-get source decopy Reading package lists... Done NOTICE: 'decopy' packaging is maintained in the 'Git' version control system at: https://anonscm.debian.org/git/collab-maint/decopy.git Please use: git clone https://anonscm.debian.org/git/collab-maint/decopy.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 46.9 kB of source archives. Get:1 http://debian-mirror.sakura.ne.jp/debian unstable/main decopy 0.2-1 (dsc) [1,943 B] Get:2 http://debian-mirror.sakura.ne.jp/debian unstable/main decopy 0.2-1 (tar) [43.2 kB] Get:3 http://debian-mirror.sakura.ne.jp/debian unstable/main decopy 0.2-1 (diff) [1,760 B] Fetched 46.9 kB in 42s (1,103 B/s) dpkg-source: info: extracting decopy in decopy-0.2 dpkg-source: info: unpacking decopy_0.2.orig.tar.gz dpkg-source: info: unpacking decopy_0.2-1.debian.tar.xz
然後列出 -
~/games/decopy $ ls decopy-0.2 decopy_0.2-1.debian.tar.xz decopy_0.2-1.dsc decopy_0.2.orig.tar.gz
顯然,decopy-0.2 就是這樣。
/games/decopy/decopy$ wget https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=854052;filename=use_tqdm_progress.patch;msg=10
~/games/decopy/ $ ─[$] ls decopy-0.2 decopy_0.2-1.debian.tar.xz decopy_0.2-1.dsc decopy_0.2.orig.tar.gz use_tqdm_progress.patch ~/games/decopy $ cd decopy-0.2 ~/games/decopy/decopy-0.2 $ patch -p1 < ../use_tqdm_progress.patch (Stripping trailing CRs from patch; use --binary to disable.) patching file decopy/cmdoptions.py (Stripping trailing CRs from patch; use --binary to disable.) patching file decopy/tree.py Hunk #2 succeeded at 190 (offset -6 lines). Hunk #3 succeeded at 201 (offset -6 lines). Hunk #4 succeeded at 303 (offset -6 lines). Hunk #5 succeeded at 364 (offset -6 lines).
修補它,現在使用 dch 進行另一次嘗試-
~/games/decopy/decopy-0.2 $ dch -n "Apply patch given in #854052". ~/games/decopy/decopy-0.2 $
現在目錄沒有改變,顯然是因為這個包不是像 dpkg is/was 這樣的原生包。
這裡推薦的步驟是什麼?
還有一種方法可以知道哪個包是 debian本機包,哪些不是?有什麼測試什麼的嗎?
這是一個“3.0 (quilt)”包(參見 參考資料
debian/source/format
),因此您需要使用它quilt
來管理更新檔。恢復更新檔:patch -R -p1 < ../use_tqdm_progress.patch
然後創建適當的結構:
mkdir -p debian/patches cp ../use_tqdm_progress.patch debian/patches echo use_tqdm_progress.patch >> debian/patches/series
您應該刷新更新檔:
quilt push quilt refresh
你
dch
很好,因為目錄名稱沒有改變。您現在可以建構包:dpkg-buildpackage -us -uc
就本機軟體包而言,您可以通過其版本中沒有連字元的事實來發現本機軟體包(一般來說)。這裡的版本是 0.2-1,所以不是原生包。在包內,對於本機包,
debian/source/format
將是“3.0(本機)”。