下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、quilt 使用介紹為什么需要 quilt ?過去,源碼包和 patch 存放在不同的 tarball 文件中,在編譯時再解壓縮,應(yīng)用 patch 補丁到源碼文件中, 然后再編譯成可執(zhí)行文件。隨著時間推移,官方軟件包會接收一些補丁到發(fā)布版本中,但是也會有一些新的獨立改變產(chǎn)生,隨之而來是大量的 patch 文件。一部分文件被上游倉庫接收后,該patch 會被刪除,剩余的patch 仍需要正常應(yīng)用到上游代碼; 另外還 patch 文件之間存在依賴關(guān)系, 后面應(yīng)用的 patch 文件可能依賴前面的 patch 文件, 即 patch 文件是按照順序應(yīng)用的。當代碼庫中存在大量的 patch 文件時,
2、特別是內(nèi)核補丁,可能達到上千個, 此時如果手動應(yīng)用 patch 文件,是不可以想象的。quilt 就是用來管理大量 patch 文件的。quilt 其實 是 一 個 shell 腳本,可以在源碼目錄樹中任意位置調(diào)用quilt 命令(quilt 向上掃描目錄直到找到 .pc 或 patches 目錄文件為止)。此處需要說明,我們可以通過設(shè)置 QUILT_ PATCHES 變量值來改變 quilt 默認啟動行為,后面會具體描述。quilt 原理quilt 會在 patches/series 文件中記錄當前管理的補丁。補丁按照加入的順序排列。quilt 使用堆棧來管理補丁。quilt push 會將
3、補丁加入到堆棧。quilt pop 將堆棧補丁退出堆棧。quilt previous/quilt next 用來查看棧頂補丁之前已應(yīng)用的補丁/ 下一個可應(yīng)用的補丁。見下圖所示。quilt applied/quilt unapplied 用來已應(yīng)用補丁或未應(yīng)用的補丁文件。注:所有 quilt 子命令可通過 quilt cmd -h 來查看幫助信息(cmd 為子命令)見圖。77quilt 常用命令說明常 用 命 令 有 quilt new, quilt push,quilt pop, quilt add, quilt refresh, quilt files, quilt applied, qui
4、lt unapplied, quilt series 等quilt new創(chuàng)建一個新的補丁文件Patch patches/int-1.diff is now on toplxylxy-PC:/quilt_exercise$ quilt new int-1.diff查看目錄可以看到多了 .pc 和 patches. . patches .pclxylxy-PC:/quilt_exercise$ ls -apatches 此時只有一個 series 文件 , 因為此時patch 文件還未有內(nèi)容。quilt topquilt new 創(chuàng)建一個補丁文件,并推入到堆棧。通過 quilt top 可以查看
5、當前棧頂補丁文件。quilt add將指定文件與當前棧頂補丁文件關(guān)聯(lián)起來。File int.c added to patch patches/int-1.difflxylxy-PC:/quilt_exercise$ quilt add int.c此后,所有 int.c 中的改變都會更新到 int-1.diff 文件中。quilt refresh通過 quilt add 命令關(guān)聯(lián)補丁文件和源文件后, 執(zhí)行 quilt refresh 將更新補丁文件。我們首先給 int.c 添加內(nèi)容如下#includeint intialize();patches/int-1.difflxylxy-PC:/qui
6、lt_exercise$ quilt topquilt seriespatches/int-1.difflxylxy-PC:/quilt_exercise$ quilt series列出 series 文件中所有補丁文件+int intialize();+#include -0,0 +1,3 + quilt_exercise/int.c- /dev/null=Index: quilt_exercise/int.clxylxy-PC:/quilt_exercise$ cat patches/int-1.diffRefreshed patch patches/int-1.difflxylxy-PC
7、:/quilt_exercise$ quilt refreshquilt patches /quilt filesquilt pathes 用來列出指定文件相關(guān)的 patch 文patches/test3.txtpatches/test2.diffpatches/int-1.difflxylxy-PC:/quilt_exercise$ quilt unappliedNo patches appliedlxylxy-PC:/quilt_exercise$ quilt appliedNo patches appliedRemoving int.cRemoving patch patches/int
8、-1.diffRemoving test2.txtRemoving patch patches/test2.diff件,quilt files 則是用來列出和 patch 關(guān)聯(lián)的源代碼文件 , 不指定 patch 則默認為棧頂 patch 文件。int.cdifflxylxy-PC:/quilt_exercise$ quilt files patches/int-1.patches/int-1.difflxylxy-PC:/quilt_exercise$ quilt patches int.cquilt pop/quilt push/quilt applied/quilt unappliedt
9、xtFile series fully applied, ends at patch patches/test3.lxylxy-PC:/quilt_exercise$ quilt unappliedpatches/test3.txtpatches/test2.diffpatches/int-1.difflxylxy-PC:/quilt_exercise$ quilt applied使用 quilt new 增加另外兩個 patch 文件, test2.diff,test3.diff,并將test2.txt 與test2.diff 關(guān)聯(lián), test3.txt 與 test3.diff 關(guān)聯(lián)。重新
10、應(yīng)用所有補丁文件patches/test3.txtpatches/test2.diffpatches/int-1.difflxylxy-PC:/quilt_exercise$ quilt seriespatches/test3.txtpatches/test2.diffpatches/int-1.difflxylxy-PC:/quilt_exercise$ quilt applied查看應(yīng)用補丁文件將所有應(yīng)用的補丁文件撤銷quilt 管理 deb 包補丁文件使用 quilt 管理 deb 包補丁文件,需要額外做一些配置工具。deb 包補丁放置debian/patches 目錄, 使用 quil
11、t 應(yīng)用補丁前,需要配置 .quiltrc 文件(位于家目錄下)。/UsingQuilt 給出的配置文件如下:Removing test3.txtRemoving patch patches/test3.txtlxylxy-PC:/quilt_exercise$ quilt pop -aQUILT_PATCHES=debian/patchesQUILT_NO_DIFF_INDEX=1QUILT_NO_DIFF_TIMESTAMPS=1QUILT_REFRESH_ARGS=-p abQUILT_DIFF_ARGS=-color=auto # If you want somerem=1;31:di
12、ff_hunk=1;33:diff_ctx=35:diff_cctx=33QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_QUILT_PATCH_OPTS=-reject-format=unifiedcolor when using quilt diff.如果不想配置.quiltrc 文件, 也可以將下面兩行在終端運行或者添加到 /.bashrc 文件中。timestamps -no-indexe xport QUI LT_REFRESH_ARG S=-p ab -no -export QUILT_PATCHES=debian/patches為了能在
13、 deb 包內(nèi)任意路徑都能使用 quilt ,建議在 .quiltrc 文件中加入如下代碼片段使 用 quilt 時 需 要 設(shè) 置 QUILT_PATCHES=debian/ patches, 否則可能找不到 series 或補丁文件,另外很多命令支持 -p 設(shè)置補丁格式風格, 具體可以通過quilt cmd -h 來查看幫助信息。參考資料Linux 之旅 (1): diff, patch 和 quilt (下)http:/ HYPERLINK /text28.html /text28.htmlHow To Survive With Many Patches https:/ /doc/quilt/quilt.htmlUsingQuilt /UsingQuilt Quilt Tutorial Shakthi Kannanfiif ! -d $d/debian/patches ; then mkdir $d/debian/patches; fiQUILT_PATCHES=debian/patchesCHESPAT # if in Debian packaging tree with unset $QUILT_if -d $d/debian & -z $QUILT_PATCHES ; thend=$d/.; doned=. ; while !
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色出行解決方案民間擔保借款合同4篇
- 男方協(xié)議離婚書2025年度電子版制作與版權(quán)保護合同3篇
- 二零二五年度智能電網(wǎng)設(shè)備研發(fā)與銷售合同范本4篇
- 二零二五版內(nèi)資股協(xié)議轉(zhuǎn)讓知識產(chǎn)權(quán)保護合同4篇
- 二零二五年度爬架租賃與施工現(xiàn)場環(huán)境保護合同2篇
- 2025年度城市公園綠地日常養(yǎng)護維修服務(wù)合同規(guī)范3篇
- 二零二五年度名筑印象住宅電梯品牌代理銷售合同4篇
- 二零二五年內(nèi)蒙古文化旅游融合發(fā)展合同規(guī)范4篇
- 2025年度瓷磚鋪貼與新型建筑材料研發(fā)合同4篇
- 二零二五年度山莊生態(tài)旅游合作開發(fā)合同范本2篇
- 二零二五年度無人駕駛車輛測試合同免責協(xié)議書
- 2025年湖北華中科技大學招聘實驗技術(shù)人員52名歷年高頻重點提升(共500題)附帶答案詳解
- 黑龍江省哈爾濱市2024屆中考數(shù)學試卷(含答案)
- 高三日語一輪復習助詞「と」的用法課件
- 毛渣采購合同范例
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 2023中華護理學會團體標準-注射相關(guān)感染預(yù)防與控制
- 五年級上冊小數(shù)遞等式計算200道及答案
- 2024年廣東高考政治真題考點分布匯 總- 高考政治一輪復習
- 燃氣管道年度檢驗報告
- GB/T 44052-2024液壓傳動過濾器性能特性的標識
評論
0/150
提交評論