ºìÁªLinuxÃÅ»§
Linux°ïÖú

debÔ´´úÂë°üиñʽ

·¢²¼Ê±¼ä:2009-03-09 09:45:04À´Ô´:ºìÁª×÷Õß:rfusrdx
×÷Õߣºlinuxtoy¡¡À´Ô´£ºhttp://linuxtoy.org/archives/deb-format.html

±¾ÎÄΪ¶ÁÕß tumashu ÔÚ man dpkg-source ¹ý³ÌÖÐËù×÷µÄÔĶÁ±Ê¼Ç£¬ÆäÖаüº¬ deb Ô´´úÂëиñʽµÄһЩ½éÉÜ£¬Ò²ÐíÓеÄÅóÓÑ»á¸ÐÐËȤ¡£

Ò».иñʽµÄÓŵã

1. Ö§³Ö bzip2¡¢lzma (¹À¼Æ¾ÍÊÇ 7z ¸ñʽ)¡¢gzip ѹËõ¸ñʽ

2. Ö§³Ö¶à¸öÉÏÓÎ tarballs

3. Ö§³Ö°üº¬¶þ½øÖÆÎļþ£¬¾É¸ñʽʹÓà diff Îļþ£¨diff.gz£©À´´æ´¢´ò°ü¹ý³ÌÖжÔÔ´´úÂëµÄ¸Ä±ä£¬¶ø diff ÎļþÊÇ´¦ÀíÎı¾ÎļþµÄ£¬ËùÒÔÈç¹ûÏëÌí¼ÓÒ»¸ö¶þ½øÖÆÎļþ£¨±ÈÈç png ͼ±ê£©£¬¾ÍÐèҪʹÓà uuencode °Ñ¶þ½øÖÆÎļþת»»ÎªÎı¾Îļþ£¬±È½ÏÂé·³

4. ²»ÐèÒªÒòΪ strip debian Ŀ¼¶øÖØÐ´ò°üÉÏÓÎ tarball£¨debian Ŀ¼ÔÚ deb Ô´´úÂë°ü½âѹËõµÄʱºò×Ô¶¯±».debian.tar.{gz,bz2,lzma}ÀïÃæµÄÄÚÈÝÈ¡´ú£©

5. Debian-specific µÄ¸Ä±äÏÖÔÚ²»ÊDZ£´æÔÚµ¥Ò»µÄ .diff.gz ÎļþÀïÃæ¶øÊDZ£´æÔÚ debian/patches/ ϵĶà¸ö patch ÎļþÀï¡£ÕâÖÖ´¦Àí·½Ê½ºÍ quilt µÄ´¦Àí·½Ê½¼æÈݵ«²»ÐèҪʹÓà quilt£¬ÒòΪ dpkg-source ¿ÉÒÔ´¦ÀíËùÓеÄÊÂÇ飬ËüÔÚ½âѹËõ¹ý³ÌÖÐʹÓà patch Îļþ£¬ÔÚ¹¹½¨¶þ½øÖưüµÄ¹ý³ÌÖиüР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 ¸ñʽ½éÉÜ

Õâ¸öÊÇÔ­À´µÄ¸ñʽ£ºÒ»¸ö .dsc Îļþ£¬Ò»¸ö .orig.tar.gz Îļþ£¬Ò»¸ö .diff.gz Îļþ

ËÄ.Format£º2.0 ¸ñʽ½éÉÜ

Õâ¸ö¸ñʽ²»½¨Òé¹ã·ºÊ¹Óã¬ÊǸö¹ý¶É¸ñʽ

Îå.Format£º3.0 (native) ¸ñʽ½éÉÜ

Õâ¸ö¸ñʽÊÇ Format£º1.0 µÄÀ©Õ¹£¬¿ÉÒÔÖ§³Ö¶àÖÖѹËõ·½Ê½{gz,bz2,lzma}

Áù.Format£º3.0 (quilt) ¸ñʽ½éÉÜ

Õâ¸ö¸ñʽ¿ÉÄܱ» debian µÄÏÂÒ»¸ö°æ±¾²ÉÓã¬ËüÊÇ Format£º2.0 µÄÀ©Õ¹£¬ÒòΪËü²¹¶¡µÄ´¦Àí·½Ê½ºÍ quilt ¼æÈÝ£¬ËùÒÔÈç´ËÃüÃû

Ô´´úÂë°üµÄ×é³É:

1. Ò»¸ö .orig.tar.{gz,bz2,lzma}ѹËõ°ü£¬Õâ¸ö°üÊÇÉÏÓÎÔ´´úÂë¸üÃûºóµÃµ½µÄ

2. Ò»¸ö .debian.tar.{gz,bz2,lzma}ѹËõ°ü£¬Õâ¸ö°ü°üº¬ÁË debian »¯µÄËùÓиü¸Ä

3. Áã¸ö»òÕß¶à¸ö .orig-.tar.{gz,bz2,lzma}£¬±ÈÈ磺.orig-hello.tar. {gz,bz2,lzma} »ò .orig-world.tar.{gz,bz2,lzma}¡£ÕâÊÇΪÁËÖ§³Ö¶à¸öÉÏÓÎ tarball

4. Ò»¸ö .dsc Îļþ

Ô´´úÂë°üµÄ½âѹËõ£º

1. orig °üÊ×ÏȽâѹËõ£¬²úÉúÒ»¸öĿ¼£¬±ÈÈ磺helloworld_0.1.1.orig.tar.gz ¾Í»áÉú³É helloworld-0.1.1 Õâ¸ö°üº¬ÉÏÓÎÔ´´úÂëµÄĿ¼

2. ËùÓÐ orig- ½âѹËõ£¬²úÉúÒ»¸öĿ¼£¬±ÈÈ磺helloworld_0.1.1.orig-toy.tar.gz ¾Í»áÉú³É helloworld-0.1.1/toy/ Ŀ¼£¬Õâ¸öĿ¼°üº¬ helloworld_0.1.1.orig-toy.tar.gz ÀïÃæËùÓеÄÄÚÈÝ£¬Ô­À´´æÔÚµÄ helloworld-0.1.1/toy/ ½«±»È¡´ú (man dpkg-source ÕâÒ»¶ÎûÓп´¶®£¬¿ÉÄÜÀí½âÓÐÎó¡£)

3. debian °ü½âѹËõ£¬Éú³É debian Ŀ¼£¬±ÈÈ磺helloworld_0.1.1.debian.tar.gz ¾Í»áÉú³É helloworld-0.1.1/debian/ Ŀ¼£¬Ô­À´´æÔÚµÄÕâ¸öĿ¼ÔÚÕâ¸ö¹ý³ÌÖн«±»É¾³ý¡­.×¢Ò⣺debian.tar.{gz,bz2,lzma}ÀïÃæ±ØÐë°üº¬Ò»¸ö debian Ŀ¼£¬ËüÒ²¿ÉÒÔ°üº¬¶þ½øÖÆÎļþ¡£

4. Ó¦Óò¹¶¡£ºÎļþ debian/patches/debian.series »òÕß debian/patches/series ÀïÃæÂÞÁеIJ¹¶¡¡£²¹¶¡±ØÐëÊÇ patch -p1 µÄ¡£²¹¶¡Ò²¿ÉÒÔɾ³ýÎļþ¡£Èç¹ûÔÚ½âѹËõ¹ý³ÌÖÐÓ¦ÓÃÁËijЩ²¹¶¡£¬ÄÇô debian/patch/.dpkg-source-applied Îļþ»á¼Ç¼ËüÃÇ¡£

5. ºÍ quilt µÄĬÈÏÏàËÆ£¬ÕâÀïʹÓò¹¶¡Ò²¿ÉÒÔɾ³ýÎļþ

Ô´´úÂë°üµÄ¹¹½¨£º

1. ¸üРdebian-changes- ²¹¶¡£ºµ±Ç°Ä¿Â¼ÖÐËùÓеÄÔ´´úÂë°ü (orig °ü£¬component °ü) ¶¼»á½âѹËõµ½Ò»¸öÁÙʱĿ¼ÖУ¬È»ºó debian Ŀ¼Ҳ¿½±´µ½Õâ¸öÁÙʱĿ¼×îºó´òÉϳý debian-changes- ²¹¶¡ÍâµÄËùÓв¹¶¡£¬±È½ÏÁÙʱĿ¼ºÍÔ´´úÂëËùµÃ²¹¶¡(Èç¹û²»Í¬£©£¬»á±£´æÎª debian/patches/ ²¹¶¡Îļþ£¬Èκζþ½øÖÆÎļþµÄ±ä»¯¶¼²»»á³öÏÖÔÚ diff ÖУ¬·ñÔò»áµ¼Ö¹¹½¨Ê§°Ü£¬³ý·Çά»¤ÈËÔ±¾ö¶¨ÔÚ debian °üÖаüº¬¶þ½øÖÆÎļþ (Ïà¶ÔÓÚÔ´´úÂëĿ¼£¬ÔÚ debian/source/include-binaries ÖÐÁгöÌí¼Ó»ò¸ü¸ÄµÄ¶þ½øÖÆÎļþµÄÎļþÃû) Èç¹û·¢ÏÖ debian ×ÓĿ¼ÖÐÓжþ½øÖÆÎļþ£¬¹¹½¨Ò²»áʧ°Ü£¬³ý·ÇÎļþÃûÒѾ­ÔÚ debian/source/include-binaries ÖÐÁгö¡£

2. ¸üРdebian.tar.{gz,bz2,lzma}£ºÍ¨¹ý¸üÐ嵀 debian Ŀ¼ºÍ¸ü¸Ä¹ýµÄ¶þ½øÖÆÎļþ (ÁгöµÄ) »áÖØÐÂÉú³É debian °ü

×¢Ò⣺×Ô¶¯Éú³ÉµÄ diff ²»°üº¬ VCS ÃèÊöÎļþºÍÐí¶àÁÙʱÎļþ (²ÎÕÕ -i Ñ¡Ïî) µÄ±ä»¯£¬ÀýÈ磺quilt ʹÓÃµÄ .pc Ŀ¼ÔÚÉú³É×Ô¶¯²¹¶¡Ê±¾Í»á±»ºöÂÔ¡£

Æß.Format£º3.0 (git)

Õâ¸öÔ´´úÂë¸ñʽÊÇʵÑéÐÔÖʵģ¬Ò²Ðí»áÔÚ debian µÄÏÂÏ»òÕßÏÂÏÂϸö°æ±¾²ÉÓã¬Ò²ÐíÓÀÔ¶²»»á²ÉÓá­¡­ÕâÊÇÔ´´úÂë°üºÍ°æ±¾¿ØÖÆÏµÍ³ (git) µÄ½áºÏ£¬¾ßÌåϸ½ÚÇ룺man dpkg-source¡£

°Ë.Format£º3.0 (bzr)

Õâ¸öÔ´´úÂë¸ñʽÊÇʵÑéÐÔÖʵģ¬Ò²Ðí»áÔÚ debian µÄÏÂÏ»òÕßÏÂÏÂϸö°æ±¾²ÉÓã¬Ò²ÐíÓÀÔ¶²»»á²ÉÓá­¡­¡­ÕâÊÇÔ´´úÂë°üºÍ°æ±¾¿ØÖÆÏµÍ³ (bzr) µÄ½áºÏ£¬¾ßÌåϸ½ÚÇ룺man dpkg-source¡£

[¸Ðл tumashu ÅóÓÑ·ÖÏí]
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ