ðÒÉ ×ÏÚÎÉËÎÏ×ÅÎÉÉ ÖÅÌÁÎÉÑ ÏÔÐÒÁ×ÉÔØ ÉÓÐÒÁ×ÌÅÎÉÅ ÍÅÊÎÔÅÊÎÅÒÕ ÐÁËÅÔÁ Debian
×ÏÚÎÉËÁÅÔ ×ÏÐÒÏÓ, ËÁË ÐÒÁ×ÉÌØÎÏ ÉÚÍÅÎÉÔØ ËÏÄ ÐÁËÅÔÁ É ËÁË ÏÔÐÒÁ×ÉÔØ ÐÁÔÞ.
1. ðÏÌÕÞÁÅÍ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÐÁËÅÔÁ Ó ÉÓÈÏÄÎÙÍ ËÏÄÏÍ É ÕÓÔÁÎÁ×ÌÉ×ÁÅÍ
ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÅÇÏ ÓÂÏÒËÉ ÚÁ×ÉÓÉÍÏÓÔÉ.
ïÄÎÉÍ ÉÚ ÍÅÔÏÄÏ× Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÕÔÉÌÉÔÙ dget, ×ÈÏÄÑÝÅÊ × ÓÏÓÔÁ× ÐÁËÅÔÁ
devscripts, ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÑÅÔ ÎÁÐÒÑÍÕÀ ÚÁÇÒÕÚÉÔØ ÐÁËÅÔ Ó ÉÓÈÏÄÎÙÍ ËÏÄÏÍ ÐÏ URL,
ËÏÔÏÒÙÊ ÍÏÖÎÏ ÎÁÊÔÉ × dsc-ÆÁÊÌÅ, ËÏÔÏÒÙÊ ÍÏÖÎÏ ÚÁÇÒÕÚÉÔØ ÉÚ ÓÉÓÅÔÍÙ ÔÒÅËÉÎÇÁ ÐÁËÅÔÏ×.
åÓÌÉ ÐÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ apt-get, ×ÒÅÍÅÎÁÍÉ ÍÏÖÅÔ ÂÙÔØ ×Ù×ÅÄÅÎÏ
ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ, ÞÔÏ ÐÁËÅÔ ÏÂÓÌÕÖÉ×ÁÅÔÓÑ × ÓÉÓÔÅÍÅ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ:
$ apt-get source wordpress
[...]
NOTICE: 'wordpress' packaging is maintained in the 'Git' version control system at:
git://git.debian.org/git/collab-maint/wordpress.git
[...]
÷ ÜÔÏÍ ÓÌÕÞÁÅ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÕÔÉÌÉÔÕ debcheckout ÄÌÑ ÚÁÇÒÕÚËÉ ËÏÄÁ
ÎÁÐÒÑÍÕÀ ÉÚ ÒÅÐÏÚÉÔÏÒÉÑ ÓÉÓÔÅÍÙ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ:
$ debcheckout wordpress
declared git repository at git://git.debian.org/git/collab-maint/wordpress.git
git clone git://git.debian.org/git/collab-maint/wordpress.git wordpress ...
Cloning into wordpress...
äÏÐÏÌÎÉÔÅÌØÎÏ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÕÓÔÁÎÏ×ÉÔØ ÍÅÔÁ-ÐÁËÅÔ packaging-dev, ÕÓÔÁÎÏ×ËÁ
ËÏÔÏÒÏÇÏ ÐÏ×ÌÅÞÅÔ ÚÁ ÓÏÂÏÊ ÕÓÔÁÎÏ×ËÕ ÎÁÂÏÒÏ× ÉÎÓÔÒÕÍÅÎÔÏ×, ÐÏÌÅÚÎÙÈ ÄÌÑ
ÒÁÚÒÁÂÏÔÞÉËÏ× ÐÁËÅÔÏ×.
2. ÷ÎÅÓÅÎÉÅ ÉÚÍÅÎÅÎÉÊ.
äÌÑ ÆÉËÓÁÃÉÉ ÆÁËÔÁ ÎÁÞÁÌÁ ÒÁÂÏÔÙ ÎÁÄ ×ÎÅÓÅÎÉÅÍ ÉÚÍÅÎÅÎÉÑ × ÐÁËÅÔ ÐÏÌØÚÏ×ÁÔÅÌÅÍ,
ÎÅ Ñ×ÌÑÀÝÉÍÓÑ ÍÅÊÎÔÅÊÎÅÒÏÍ, ×ÙÐÏÌÎÉÍ ËÏÍÁÎÄÕ (NMU = Non Maintainer Upload):
$ dch --nmu
üÔÏÔ ÛÁÇ ÔÁËÖÅ ÐÏÚ×ÏÌÉÔ ÇÁÒÁÎÔÉÒÏ×ÁÔØ, ÞÔÏ ÐÏÓÌÅ ÓÂÏÒËÉ ÐÁËÅÔÁ ÍÙ ÎÅ ÐÅÒÅÔÒÅÍ
ÚÁÇÒÕÖÅÎÎÙÊ ÒÁÎÅÅ ÏÒÉÇÉÎÁÌØÎÙÊ ÐÁËÅÔ Ó ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ.
2.1. éÚÍÅÎÑÅÍ ÓÌÕÖÅÂÎÙÅ ÆÁÊÌÙ ÐÁËÅÔÁ.
úÁÈÏÄÉÍ × ÐÏÄÄÉÒÅËÔÏÒÉÀ debian É ÐÒÁ×ÉÍ ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÎÕÖÎÙÅ ÆÁÊÌÙ.
÷ÎÅÓÅÎÎÙÅ ÉÚÍÅÎÅÎÉÑ ÏÔÒÁÖÁÅÍ ÐÕÔÅÍ ×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ dch (ÅÓÌÉ ÉÚÍÅÎÅÎÉÊ
ÎÅÓËÏÌØËÏ ÕÔÉÌÉÔÕ ÎÕÖÎÏ ÚÁÐÕÓÔÉÔØ ÎÅÓËÏÌØËÏ ÒÁÚ).
2.2. éÚÍÅÎÑÅÍ ÆÁÊÌÙ ÏÒÉÇÉÎÁÌØÎÏÊ ÐÒÏÇÒÁÍÍÙ, ÐÏÓÔÁ×ÌÑÅÍÏÊ × ÐÁËÅÔÅ.
ðÒÉ ÉÚÍÅÎÅÎÉÉ ÆÁÊÌÏ× upstream-ÐÒÏÅËÔÁ ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ ËÁËÏÊ ÉÚ ÆÏÒÍÁÔÏ×
ÚÁÄÅÊÓÔ×Ï×ÁÎ × ÉÓÐÏÌØÚÕÅÍÏÍ ÐÁËÅÔÅ Ó ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ ("1.0, "3.0 (quilt)"
ÉÌÉ "3.0 (native)", ÒÁÚÎÉÃÁ Ó×ÏÄÉÔÓÑ Ë ÆÏÒÍÉÒÏ×ÁÎÉÀ ÏÄÎÏÇÏ ÂÏÌØÛÏÇÏ ÐÁÔÞÁ ÉÌÉ
ÒÁÚÍÅÝÅÎÉÉ ËÁÖÄÏÇÏ ÐÁÔÞÁ × ÏÔÄÅÌØÎÏÍ ÆÁÊÌÅ), Á ÔÁËÖÅ ÔÉÐ ÓÉÓÔÅÍÙ ÐÁÔÞÅÊ (ÍÏÖÎÏ
ÐÏÓÍÏÔÒÅÔØ ÚÁÐÕÓÔÉ× what-patch). ÷ ÄÁÎÎÏÊ ÚÁÍÅÔËÅ ÒÁÓÓÍÁÔÒÉ×ÁÅÔÓÑ ÓÉÔÕÁÃÉÑ
ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÅËÏÍÅÎÄÏ×ÁÎÎÏÇÏ ÆÏÒÍÁÔÁ "3.0 (quilt)" (ÒÅËÏÍÅÎÄÁÃÉÉ ÂÕÄÕÔ
ÒÁÂÏÔÁÔØ É ÄÌÑ ÆÏÒÍÁÔÁ "1.0", ÎÏ ÄÌÑ ÜÔÏÇÏ ÎÕÖÎÏ ÎÁÓÔÒÏÉÔØ ~/.quiltrc ×
ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÉÎÓÔÒÕËÃÉÅÊ /usr/share/doc/quilt/README.source)
ðÒÉÍÅÎÑÅÍ × ËÏÄÕ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÐÒÏÅËÔÁ ×ÓÅ ÐÁÔÞÉ, ×ÙÐÏÌÎÉ×:
$ quilt push -a
åÓÌÉ ÐÁÔÞÅÊ × ÐÁËÅÔÅ ÅÝ£ ÎÅÔ, ÓÏÚÄÁÅÍ ×ÒÕÞÎÕÀ ÐÏÄÄÉÒÅËÔÏÒÉÀ debian/patches:
$ mkdir debian/patches
2.2.1. éÍÐÏÒÔÉÒÕÅÍ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÐÁÔÞ.
åÓÌÉ ÉÚÍÅÎÅÎÉÑ ÕÖÅ ÏÆÏÒÍÌÅÎÙ × upstream-ÐÒÏÅËÔÅ × ×ÉÄÅ ÐÁÔÞÁ, ÔÏ ÉÍÐÏÒÔÉÒÏ×ÁÔØ
ÄÁÎÎÙÊ ÐÁÔÞ ÍÏÖÎÏ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ:
$ quilt import -P fix-foobar.patch /tmp/patch
Importing patch /tmp/patch (stored as fix-foobar.patch)
$ quilt push
Applying patch fix-foobar.patch
[...]
Now at patch fix-foobar.patch
ïÐÃÉÑ "-P" ÐÏÚ×ÏÌÑÅÔ ×ÙÂÒÁÔØ ÎÁ Ó×ÏÅ ÕÓÍÏÔÒÅÎÉÅ ÉÍÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÐÁÔÞÁ ×
ÄÉÒÅËÔÏÒÉÉ debian/patches/. ðÏÓÌÅ ×ÙÐÏÌÎÅÎÉÑ ÕËÁÚÁÎÎÙÈ ÄÅÊÓÔ×ÉÊ ÐÁÔÞ ÂÕÄÅÔ
ÄÏÂÁ×ÌÅÎ × ÄÉÒÅËÔÏÒÉÀ debian/patches/series, ÎÏ ÐÏËÁ ÎÅ ÂÕÄÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ
ÐÒÉÍÅÎÅÎ Ë ËÏÄÕ.
2.2.1. óÏÚÄÁÅÍ ÎÏ×ÙÊ ÐÁÔÞ.
åÓÌÉ ÉÚÍÅÎÅÎÉÑ ÅÝÅ ÎÅ ÏÆÏÒÍÌÅÎÙ × ×ÉÄÅ ÐÁÔÞÁ, ÎÕÖÎÏ ÕËÁÚÁÔØ quilt Ï
ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÓÏÚÄÁÔØ ÎÏ×ÙÊ ÐÁÔÞ:
$ quilt new fix-foobar.patch
Patch fix-foobar.patch is now on top
äÁÌÅÅ ÕËÁÚÙ×ÁÅÍ ×ÓÅ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÉÚÍÅÎÅÎÙ × ÒÅÚÕÌØÔÁÔÅ ÎÁÛÅÊ
ÄÅÑÔÅÌØÎÏÓÔÉ. äÌÑ ËÁÖÄÏÇÏ ÉÚÍÅÎÑÅÍÏÇÏ ÆÁÊÌÁ ÚÁÐÕÓËÁÅÍ "quilt add", ÐÏÓÌÅ ÞÅÇÏ
quilt ÓÏÚÄÁÓÔ ÄÌÑ ËÁÖÄÏÇÏ ÉÚ ÜÔÉÈ ÆÁÊÌÏ× ÒÅÚÅÒ×ÎÕÀ ËÏÐÉÀ, ÎÁ ÏÓÎÏ×Å ÏÃÅÎËÉ
ÉÚÍÅÎÅÎÉÊ Ó ËÏÔÏÒÏÊ × ÐÏÓÌÅÄÓÔ×ÉÉ ÂÕÄÅÔ ÓÇÅÎÅÒÉÒÏ×ÁÎ ÐÁÔÞ. ôÅÐÅÒØ ÐÒÁ×ÉÍ ÌÀÂÙÍ
ÕÄÏÂÎÙÍ ÓÐÏÓÏÂÏÍ ÎÕÖÎÙÅ ÆÁÊÌÙ. åÓÌÉ ÆÁÊÌÙ ÐÌÁÎÉÒÕÅÔÓÑ ÏÔÒÅÄÁËÔÉÒÏ×ÁÔØ ×ÒÕÞÎÕÀ,
×ÍÅÓÔÏ "quilt add" ÍÏÖÎÏ ÚÁÐÕÓÔÉÔØ "quilt edit".
$ quilt edit foobar.c
File foobar.c added to patch fix-foobar.patch
ðÏÓÌÅ ÔÏÇÏ ËÁË ×ÓÅ ÉÚÍÅÎÅÎÉÑ ×ÎÅÓÅÎÙ, ÇÅÎÅÒÉÒÕÅÍ ÐÁÔÞ:
$ quilt refresh
Refreshed patch fix-foobar.patch
3. ôÅÓÔÉÒÕÅÍ ×ÎÅÓÅÎÎÙÅ ÉÚÍÅÎÅÎÉÑ
óÏÂÉÒÁÅÍ ÉÚÍÅÎÅÎÎÙÊ ÐÁËÅÔ:
$ debuild -us -uc
ÐÒÏ×ÅÒÑÅÍ ÅÇÏ ÒÁÂÏÔÏÓÐÏÓÏÂÎÏÓÔØ, ÕÓÔÁÎÏ×É× × ÓÉÓÔÅÍÕ ÞÅÒÅÚ dpkg ÉÌÉ debi.
4. çÅÎÅÒÉÒÕÅÍ ÐÁÔÞ ÄÌÑ ÏÔÐÒÁ×ËÉ ÍÅÊÎÔÅÊÎÅÒÕ.
ðÏÓÌÅ ×ÙÐÏÌÎÅÎÉÑ ×ÓÅÈ ÒÁÎÅÅ ÕËÁÚÁÎÎÙÈ ÛÁÇÏ× × ÄÉÒÅËÔÏÒÉÉ ÄÏÌÖÎÏ ÎÁÈÏÄÉÔØÓÑ Ä×Á
.dsc-ÆÁÊÌÁ, ÉÚÎÁÞÁÌØÎÙÊ É ÎÏ×ÙÊ, ÎÁÐÒÉÍÅÒ:
$ cd ..
$ ls wordpress_*.dsc
../wordpress_3.0.5+dfsg-1.1.dsc
../wordpress_3.0.5+dfsg-1.dsc
óÇÅÎÅÒÉÒÏ×ÁÔØ ÐÁÔÞ ÄÌÑ ÏÔÐÒÁ×ËÉ ÍÅÊÎÔÅÊÎÅÒÕ ÍÏÖÎÏ ËÏÍÁÎÄÏÊ debdiff:
$ debdiff wordpress_3.0.5+dfsg-1.dsc wordpress_3.0.5+dfsg-1.1.dsc >/tmp/wp-debdiff
äÌÑ ÏÔÐÒÁ×ËÉ ÐÁÔÞÁ /tmp/wp-debdiff ÍÅÊÎÔÅÊÎÅÒÕ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÕÔÉÌÉÔÕ
bugreport, ÕËÁÚÁ× × ÒÏÌÉ ÔÅÇÁ "patch". äÌÑ Á×ÔÏÍÁÔÉÚÁÃÉÉ ÏÔÐÒÁ×ËÉ ÍÏÖÎÏ
ÉÓÐÏÌØÚÏ×ÁÔØ ÕÔÉÌÉÔÕ nmudiff.
åÓÌÉ ÒÁÂÏÔÁ ÏÓÕÝÅÓÔ×ÌÑÌÁÓØ Ó ËÏÐÉÅÊ ÉÚ ÓÉÓÔÅÍÙ ÕÐÒÁ×ÌÅÎÉÑ ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ
(×ÙÐÏÌÎÑÌÉ debcheckout), ÔÏ ×ÍÅÓÔÏ debdiff ÍÏÖÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÔØ diff-ÆÁÊÌ
×ÓÔÒÏÅÎÎÙÍÉ ÓÒÅÄÓÔ×ÁÍÉ ÉÓÐÏÌØÚÕÅÍÏÊ ÓÉÓÔÅÍÙ ËÏÎÔÒÏÌÑ ×ÅÒÓÉÊ (git diff, svn diff
É Ô.Ð). ÷ ÓÌÕÞÁÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÁÓÐÒÅÄÅÌÅÎÎÏÊ ÓÉÓÔÅÍÙ ËÏÎÔÒÏÌÑ ×ÅÒÓÉÊ (git,
bzr, mercurial) ×ÏÚÍÏÖÎÏ ÓÌÅÄÕÅÔ ÏÆÏÒÍÉÔØ ×ÓÅ ÍÏÄÉÆÉËÁÃÉÉ × ×ÉÄÅ ÏÔÄÅÌØÎÏÇÏ
ÎÁÂÏÒÁ ÉÚÍÅÎÅÎÉÊ. ÷ÍÅÓÔÏ ÏÔÐÒÁ×ËÉ ÏÄÎÏÇÏ ÐÁÔÞÁ, ×ÏÚÍÏÖÎÏ ÐÏÔÒÅÂÕÅÔÓÑ ÏÔÐÒÁ×ÉÔØ
ÓÅÒÉÀ ÐÁÔÞÅÊ ÉÌÉ ÏÔÐÒÁ×ÉÔØ URL ÎÁ ÉÚÍÅÎÅÎÉÊ × ÐÕÂÌÉÞÎÏÍ ÒÅÐÏÚÉÔÏÒÉÉ.
|