下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、quilt 使用介紹為什么需要 quilt ?過(guò)去,源碼包和 patch 存放在不同的 tarball 文件中,在編譯時(shí)再解壓縮,應(yīng)用 patch 補(bǔ)丁到源碼文件中, 然后再編譯成可執(zhí)行文件。隨著時(shí)間推移,官方軟件包會(huì)接收一些補(bǔ)丁到發(fā)布版本中,但是也會(huì)有一些新的獨(dú)立改變產(chǎn)生,隨之而來(lái)是大量的 patch 文件。一部分文件被上游倉(cāng)庫(kù)接收后,該patch 會(huì)被刪除,剩余的patch 仍需要正常應(yīng)用到上游代碼; 另外還 patch 文件之間存在依賴關(guān)系, 后面應(yīng)用的 patch 文件可能依賴前面的 patch 文件, 即 patch 文件是按照順序應(yīng)用的。當(dāng)代碼庫(kù)中存在大量的 patch 文件時(shí),
2、特別是內(nèi)核補(bǔ)丁,可能達(dá)到上千個(gè), 此時(shí)如果手動(dòng)應(yīng)用 patch 文件,是不可以想象的。quilt 就是用來(lái)管理大量 patch 文件的。quilt 其實(shí) 是 一 個(gè) shell 腳本,可以在源碼目錄樹中任意位置調(diào)用quilt 命令(quilt 向上掃描目錄直到找到 .pc 或 patches 目錄文件為止)。此處需要說(shuō)明,我們可以通過(guò)設(shè)置 QUILT_ PATCHES 變量值來(lái)改變 quilt 默認(rèn)啟動(dòng)行為,后面會(huì)具體描述。quilt 原理quilt 會(huì)在 patches/series 文件中記錄當(dāng)前管理的補(bǔ)丁。補(bǔ)丁按照加入的順序排列。quilt 使用堆棧來(lái)管理補(bǔ)丁。quilt push 會(huì)將
3、補(bǔ)丁加入到堆棧。quilt pop 將堆棧補(bǔ)丁退出堆棧。quilt previous/quilt next 用來(lái)查看棧頂補(bǔ)丁之前已應(yīng)用的補(bǔ)丁/ 下一個(gè)可應(yīng)用的補(bǔ)丁。見下圖所示。quilt applied/quilt unapplied 用來(lái)已應(yīng)用補(bǔ)丁或未應(yīng)用的補(bǔ)丁文件。注:所有 quilt 子命令可通過(guò) quilt cmd -h 來(lái)查看幫助信息(cmd 為子命令)見圖。77quilt 常用命令說(shuō)明常 用 命 令 有 quilt new, quilt push,quilt pop, quilt add, quilt refresh, quilt files, quilt applied, qui
4、lt unapplied, quilt series 等quilt new創(chuàng)建一個(gè)新的補(bǔ)丁文件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 此時(shí)只有一個(gè) series 文件 , 因?yàn)榇藭r(shí)patch 文件還未有內(nèi)容。quilt topquilt new 創(chuàng)建一個(gè)補(bǔ)丁文件,并推入到堆棧。通過(guò) quilt top 可以查看
5、當(dāng)前棧頂補(bǔ)丁文件。quilt add將指定文件與當(dāng)前棧頂補(bǔ)丁文件關(guān)聯(lián)起來(lái)。File int.c added to patch patches/int-1.difflxylxy-PC:/quilt_exercise$ quilt add int.c此后,所有 int.c 中的改變都會(huì)更新到 int-1.diff 文件中。quilt refresh通過(guò) quilt add 命令關(guān)聯(lián)補(bǔ)丁文件和源文件后, 執(zhí)行 quilt refresh 將更新補(bǔ)丁文件。我們首先給 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 文件中所有補(bǔ)丁文件+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 用來(lái)列出指定文件相關(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 則是用來(lái)列出和 patch 關(guān)聯(lián)的源代碼文件 , 不指定 patch 則默認(rèn)為棧頂 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 增加另外兩個(gè) patch 文件, test2.diff,test3.diff,并將test2.txt 與test2.diff 關(guān)聯(lián), test3.txt 與 test3.diff 關(guān)聯(lián)。重新
10、應(yīng)用所有補(bǔ)丁文件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)用補(bǔ)丁文件將所有應(yīng)用的補(bǔ)丁文件撤銷quilt 管理 deb 包補(bǔ)丁文件使用 quilt 管理 deb 包補(bǔ)丁文件,需要額外做一些配置工具。deb 包補(bǔ)丁放置debian/patches 目錄, 使用 quil
11、t 應(yīng)用補(bǔ)丁前,需要配置 .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 文件, 也可以將下面兩行在終端運(yùn)行或者添加到 /.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í) 需 要 設(shè) 置 QUILT_PATCHES=debian/ patches, 否則可能找不到 series 或補(bǔ)丁文件,另外很多命令支持 -p 設(shè)置補(bǔ)丁格式風(fēng)格, 具體可以通過(guò)quilt cmd -h 來(lái)查看幫助信息。參考資料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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋八年級(jí)數(shù)學(xué)上冊(cè) 第6章 一次函數(shù)6.4 課題學(xué)習(xí) 選擇方案教案(新版)蘇科版
- 2024秋八年級(jí)數(shù)學(xué)上冊(cè) 第十五章 分式15.2 分式的運(yùn)算 4分式的加減-異分母的分式相加減教學(xué)設(shè)計(jì)(新版)新人教版
- 高中語(yǔ)文 第五單元 散而不亂 氣脈中貫 第1課 六國(guó)論教案4 新人教版選修中國(guó)古代詩(shī)歌散文鑒賞
- 2024年五年級(jí)數(shù)學(xué)下冊(cè) 八 探索樂(lè)園單元概述與課時(shí)安排教案 冀教版
- 2023九年級(jí)化學(xué)下冊(cè) 第十二單元 化學(xué)與生活 課題2 化學(xué)元素與人體健康教案 (新版)新人教版
- 潤(rùn)滑脂 軸承動(dòng)態(tài)壽命試驗(yàn)方法(征求意見稿)
- 運(yùn)輸合同范本(2篇)
- 湖南專升本課件
- 景陽(yáng)岡課件閱讀
- 幼兒園小班音樂(lè)《怪汽車》課件
- 體育教育課題申報(bào)書:《初中體育課堂運(yùn)動(dòng)方法分析》課題申報(bào)材料
- 《人類簡(jiǎn)史》從動(dòng)物到上帝讀書分享
- 4.3平面鏡成像(教案)人教版物理八年級(jí)上冊(cè)
- 北大荒2023年審計(jì)報(bào)告
- 完整版小組合作學(xué)習(xí)情況調(diào)查問(wèn)卷
- 第八次課-冶金考古
- 大學(xué)生心理健康教育-學(xué)習(xí)心理
- 《臨床醫(yī)生崗前培訓(xùn)》課件
- 川教版《生命-生態(tài)-安全》第9課-防止窒息-課件
- 數(shù)學(xué)五上《平行四邊形的面積》公開課教學(xué)設(shè)計(jì)西南師大版-五年級(jí)數(shù)學(xué)教案
- 教科版(2023秋)小學(xué)科學(xué) 五年級(jí)上冊(cè) 2.5風(fēng)的作用 教案
評(píng)論
0/150
提交評(píng)論