自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

deb 源代碼包新格式

運(yùn)維 系統(tǒng)運(yùn)維
本文為讀者 tumashu 在 man dpkg-source 過程中所作的閱讀筆記,其中包含 deb 源代碼新格式的一些介紹,也許有的朋友會(huì)感興趣。

本文為讀者 tumashu 在 man dpkg-source 過程中所作的閱讀筆記,其中包含 deb 源代碼新格式的一些介紹,也許有的朋友會(huì)感興趣。

一.新格式的優(yōu)點(diǎn)

1. 支持 bzip2、lzma (估計(jì)就是 7z 格式)、gzip 壓縮格式
2. 支持多個(gè)上游 tarballs
3. 支持包含二進(jìn)制文件,舊格式使用 diff 文件(diff.gz)來存儲(chǔ)打包過程中對(duì)源代碼的改變,而 diff 文件是處理文本文件的,所以如果想添加一個(gè)二進(jìn)制文件(比如 png 圖標(biāo)),就需要使用 uuencode 把二進(jìn)制文件轉(zhuǎn)換為文本文件,比較麻煩
4. 不需要因?yàn)?strip debian 目錄而重新打包上游 tarball(debian 目錄在 deb 源代碼包解壓縮的時(shí)候自動(dòng)被.debian.tar.{gz,bz2,lzma}里面的內(nèi)容取代)
5. Debian-specific 的改變現(xiàn)在不是保存在單一的 .diff.gz 文件里面而是保存在 debian/patches/ 下的多個(gè) patch 文件里。這種處理方式和 quilt 的處理方式兼容但不需要使用 quilt,因?yàn)?dpkg-source 可以處理所有的事情,它在解壓縮過程中使用 patch 文件,在構(gòu)建二進(jìn)制包的過程中更新 patch series
6. NMU workflow is now really: unpack, hack, rebuild (for all 3.0 (quilt) packages).

二.新格式的種類

1. Format:1.0
2. Format:2.0
3. Format:3.0 (native)
4. Format:3.0 (quilt)
5. Format:3.0 (git)
6. Format:3.0 (bzr)

三.Format:1.0 格式介紹

這個(gè)是原來的格式:一個(gè) .dsc 文件,一個(gè) .orig.tar.gz 文件,一個(gè) .diff.gz 文件

四.Format:2.0 格式介紹

這個(gè)格式不建議廣泛使用,是個(gè)過渡格式

五.Format:3.0 (native) 格式介紹

這個(gè)格式是 Format:1.0 的擴(kuò)展,可以支持多種壓縮方式{gz,bz2,lzma}

六.Format:3.0 (quilt) 格式介紹

這個(gè)格式可能被 debian 的下一個(gè)版本采用,它是 Format:2.0 的擴(kuò)展,因?yàn)樗a(bǔ)丁的處理方式和 quilt 兼容,所以如此命名

源代碼包的組成:

1. 一個(gè) .orig.tar.{gz,bz2,lzma}壓縮包,這個(gè)包是上游源代碼更名后得到的
2. 一個(gè) .debian.tar.{gz,bz2,lzma}壓縮包,這個(gè)包包含了 debian 化的所有更改
3. 零個(gè)或者多個(gè) .orig-<component>.tar.{gz,bz2,lzma},比如:.orig-hello.tar. {gz,bz2,lzma} 或 .orig-world.tar.{gz,bz2,lzma}。這是為了支持多個(gè)上游 tarball
4. 一個(gè) .dsc 文件

源代碼包的解壓縮:

1. orig 包首先解壓縮,產(chǎn)生一個(gè)目錄,比如:helloworld_0.1.1.orig.tar.gz 就會(huì)生成 helloworld-0.1.1 這個(gè)包含上游源代碼的目錄
2. 所有 orig-<component> 解壓縮,產(chǎn)生一個(gè)目錄,比如:helloworld_0.1.1.orig-toy.tar.gz 就會(huì)生成 helloworld-0.1.1/toy/ 目錄,這個(gè)目錄包含 helloworld_0.1.1.orig-toy.tar.gz 里面所有的內(nèi)容,原來存在的 helloworld-0.1.1/toy/ 將被取代 (man dpkg-source 這一段沒有看懂,可能理解有誤。)
3. debian 包解壓縮,生成 debian 目錄,比如:helloworld_0.1.1.debian.tar.gz 就會(huì)生成 helloworld-0.1.1/debian/ 目錄,原來存在的這個(gè)目錄在這個(gè)過程中將被刪除….注意:debian.tar.{gz,bz2,lzma}里面必須包含一個(gè) debian 目錄,它也可以包含二進(jìn)制文件。
4. 應(yīng)用補(bǔ)?。何募?debian/patches/debian.series 或者 debian/patches/series 里面羅列的補(bǔ)丁。補(bǔ)丁必須是 patch -p1 的。補(bǔ)丁也可以刪除文件。如果在解壓縮過程中應(yīng)用了某些補(bǔ)丁,那么 debian/patch/.dpkg-source-applied 文件會(huì)記錄它們。
5. 和 quilt 的默認(rèn)相似,這里使用補(bǔ)丁也可以刪除文件

源代碼包的構(gòu)建:

1. 更新 debian-changes-<version> 補(bǔ)丁:當(dāng)前目錄中所有的源代碼包 (orig 包,component 包) 都會(huì)解壓縮到一個(gè)臨時(shí)目錄中,然后 debian 目錄也拷貝到這個(gè)臨時(shí)目錄最后打上除 debian-changes-<version> 補(bǔ)丁外的所有補(bǔ)丁,比較臨時(shí)目錄和源代碼所得補(bǔ)丁(如果不同),會(huì)保存為 debian/patches/<debian-changes-version> 補(bǔ)丁文件,任何二進(jìn)制文件的變化都不會(huì)出現(xiàn)在 diff 中,否則會(huì)導(dǎo)致構(gòu)建失敗,除非維護(hù)人員決定在 debian 包中包含二進(jìn)制文件 (相對(duì)于源代碼目錄,在 debian/source/include-binaries 中列出添加或更改的二進(jìn)制文件的文件名) 如果發(fā)現(xiàn) debian 子目錄中有二進(jìn)制文件,構(gòu)建也會(huì)失敗,除非文件名已經(jīng)在 debian/source/include-binaries 中列出。
2. 更新 debian.tar.{gz,bz2,lzma}:通過更新的 debian 目錄和更改過的二進(jìn)制文件 (列出的) 會(huì)重新生成 debian 包

注意:自動(dòng)生成的 diff 不包含 VCS 描述文件和許多臨時(shí)文件 (參照 -i 選項(xiàng)) 的變化,例如:quilt 使用的 .pc 目錄在生成自動(dòng)補(bǔ)丁時(shí)就會(huì)被忽略。

七.Format:3.0 (git)

這個(gè)源代碼格式是實(shí)驗(yàn)性質(zhì)的,也許會(huì)在 debian 的下下或者下下下個(gè)版本采用,也許永遠(yuǎn)不會(huì)采用……這是源代碼包和版本控制系統(tǒng) (git) 的結(jié)合,具體細(xì)節(jié)請(qǐng):man dpkg-source。

八.Format:3.0 (bzr)

這個(gè)源代碼格式是實(shí)驗(yàn)性質(zhì)的,也許會(huì)在 debian 的下下或者下下下個(gè)版本采用,也許永遠(yuǎn)不會(huì)采用………這是源代碼包和版本控制系統(tǒng) (bzr) 的結(jié)合,具體細(xì)節(jié)請(qǐng):man dpkg-source。

【編輯推薦】

  1. Linux系統(tǒng)管理技術(shù)手冊(cè)(中文第二版)
  2. 嵌入式系統(tǒng)Linux內(nèi)核開發(fā)實(shí)戰(zhàn)指南
  3. Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解
責(zé)任編輯:張燕妮 來源: Linux論壇
相關(guān)推薦

2009-03-09 21:16:32

Linuxdeb源代碼

2011-07-18 17:43:44

iPhone WIFI

2010-01-08 16:02:14

Ubuntu deb包

2022-08-01 22:19:35

Ubuntu命令

2010-02-07 13:52:45

Ubuntu deb

2010-01-06 13:41:47

DEB包安裝

2023-11-01 10:44:15

MozillaLinux

2023-06-25 13:00:04

2018-06-22 10:05:04

Arch LinuxDEB軟件包

2020-04-22 15:08:23

iOS源代碼新特性

2024-01-26 21:16:40

MozillaFirefox.deb

2020-11-13 13:05:27

Java開發(fā)代碼

2023-03-02 15:42:12

2024-01-18 10:48:33

deb包LinuxUbuntu

2010-09-06 16:32:11

Ubuntu 10.1Ubuntu軟件中心

2009-04-03 08:28:39

2011-02-23 14:54:58

FileZilla

2011-02-23 14:46:21

FileZilla

2020-11-14 11:20:56

滲透測(cè)試Cobalt Stri源代碼

2011-02-23 14:39:27

FileZilla
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)