![Quilt使用入門(mén)介紹_第1頁(yè)](http://file4.renrendoc.com/view/c9ceebc193fb66d01670df9e2ca5b793/c9ceebc193fb66d01670df9e2ca5b7931.gif)
![Quilt使用入門(mén)介紹_第2頁(yè)](http://file4.renrendoc.com/view/c9ceebc193fb66d01670df9e2ca5b793/c9ceebc193fb66d01670df9e2ca5b7932.gif)
![Quilt使用入門(mén)介紹_第3頁(yè)](http://file4.renrendoc.com/view/c9ceebc193fb66d01670df9e2ca5b793/c9ceebc193fb66d01670df9e2ca5b7933.gif)
![Quilt使用入門(mén)介紹_第4頁(yè)](http://file4.renrendoc.com/view/c9ceebc193fb66d01670df9e2ca5b793/c9ceebc193fb66d01670df9e2ca5b7934.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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 文件之間存在依賴(lài)關(guān)系, 后面應(yīng)用的 patch 文件可能依賴(lài)前面的 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 腳本,可以在源碼目錄樹(shù)中任意位置調(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ǔ)丁。見(jiàn)下圖所示。quilt applied/quilt unapplied 用來(lái)已應(yīng)用補(bǔ)丁或未應(yīng)用的補(bǔ)丁文件。注:所有 quilt 子命令可通過(guò) quilt cmd -h 來(lái)查看幫助信息(cmd 為子命令)見(jiàn)圖。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ǔ)丁文件撤銷(xiāo)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)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)尖峰鯉數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)發(fā)泡地板革數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)光纖配線(xiàn)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)蠕動(dòng)泵用高耐磨橡膠件市場(chǎng)調(diào)查研究報(bào)告
- 搪瓷衛(wèi)生潔具的國(guó)內(nèi)外標(biāo)準(zhǔn)對(duì)比考核試卷
- 婦幼保健院預(yù)防保健知識(shí)考核試卷
- 2025-2030年地下空洞穩(wěn)定性評(píng)估系統(tǒng)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年復(fù)古軍裝風(fēng)格男裝行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢(xún)報(bào)告
- 2025-2030年廚電產(chǎn)品用戶(hù)訪談企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年復(fù)古工裝風(fēng)格男裝行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢(xún)報(bào)告
- GB/T 26189.2-2024工作場(chǎng)所照明第2部分:室外作業(yè)場(chǎng)所的安全保障照明要求
- 高考百日誓師動(dòng)員大會(huì)
- 賈玲何歡《真假老師》小品臺(tái)詞
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 2024新人教版初中英語(yǔ)單詞表默寫(xiě)版(七~九年級(jí))
- 2025年?yáng)|方電氣集團(tuán)東方鍋爐股份限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《敏捷項(xiàng)目管理》課件
- 統(tǒng)編版(2024新版)七年級(jí)上學(xué)期道德與法治期末綜合測(cè)試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 前程無(wú)憂(yōu)測(cè)評(píng)題庫(kù)及答案
- 七上 U2 過(guò)關(guān)單 (答案版)
評(píng)論
0/150
提交評(píng)論