[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ dalej ]
Teraz już powinniśmy być gotowi do zbudowania pakietu.
Wejdź do katalogu głównego programu i wydaj w nim polecenie:
dpkg-buildpackage -rfakeroot
Wykona ono wszystko, to znaczy:
wyczyści drzewo źródeł programu (debian/rules clean) używając programu
fakeroot
zbuduje pakiet źródłowy (dpkg-source -b)
zbuduje program (debian/rules build)
zbuduje pakiet binarny (debian/rules binary), używając programu
fakeroot
podpisze źródłowy plik .dsc, używając programu gnupg
utworzy i podpisze umieszczany w archiwum Debiana plik .changes
przy pomocy programów dpkg-genchanges
i gnupg
Będziesz musiał tylko dwukrotnie wprowadzić hasło do Twojego prywatnego klucza GPG.
Po zakończeniu procesu zobaczysz następujące pliki w katalogu nadrzędnym (~/gentoo/):
gentoo_0.9.12.orig.tar.gz
To archiwum z oryginalnym kodem źródłowym programu. Jego nazwa została
zmieniona w powyższy sposób, aby zachować standard Debiana. Zwróć uwagę, że
plik ten został utworzony przy użyciu opcji `-f' przez program
dh_make
, gdy na początku go uruchomiliśmy.
gentoo_0.9.12-1.dsc
To jest streszczenie zawartości kodu źródłowego. Plik ten jest generowany na
podstawie pliku `control' i używany w czasie rozpakowywania źródła przez
program dpkg-source(1)
. Jest on podpisany cyfrowo, aby inni mogli
być pewni, że jest naprawdę Twój.
gentoo_0.9.12-1.diff.gz
Ten plik jest skompresowany i zawiera wszystkie zmiany, których dokonałeś w
oryginalnym kodzie źródłowym. Zmiany te są zapisane w formacie znanym jako
"unified diff". Plik jest utworzony i używany przez program
dpkg-source(1)
. Uwaga: jeśli nie nazwałeś oryginalnego archiwum
ze źródłami programu w sposób: nazwapakietu_wersja.orig.tar.gz, to program
dpkg-source
nie wygeneruje poprawnego pliku .diff.gz!
Gdyby ktoś jeszcze chciał ponownie utworzyć Twój pakiet zaczynając procedurę od początku, to może łatwo to zrobić używając trzech powyższych plików. Procedura postępowania w takich przypadkach jest wręcz banalna: po prostu należy gdzieś skopiować te trzy pliki i wydać komendę dpkg-source -x gentoo_0.9.12-1.dsc.
gentoo_0.9.12-1_i386.deb
To kompletny pakiet binarny. Możesz użyć programu dpkg
, aby
zainstalować go lub usunąć w taki sam sposób, jak każdy inny pakiet.
gentoo_0.9.12-1_i386.changes
Plik ten opisuje wszystkie zmiany dokonane w obecnej poprawce pakietu. Używają go programy obsługi archiwów FTP Debiana do zainstalowania pakietów binarnych i źródłowych. Jest on częściowo generowany z plików `changelog' i .dsc. Plik ten jest podpisany cyfrowo, aby inni mogli być pewni, że jest naprawdę Twój.
W czasie, gdy będziesz się zajmował pakietem, zmieni się pewnie jego działanie i dodane zostaną nowe funkcjonalności. Ludzie pobierający Twój pakiet mogą w tym pliku szybko zobaczyć, co się zmieniło. Programy zarządzające archiwum Debiana wyślą również zawartość tego pliku na listę dyskusyjną debian-devel-changes.
Długie łańcuchy liczb w plikach .dsc i .changes to sumy kontrolne MD5
wspomnianych plików. Osoby pobierające Twoje pliki mogą sprawdzić je używając
programu md5sum(1)
i jeśli sumy nie będą się zgadzać, będą
wiedzieć, że plik jest uszkodzony lub został przez kogoś zmieniony.
Gdy masz duży pakiet, to możesz nie chcieć budować go od nowa za każdym razem,
gdy zmienisz jakiś szczegół w pliku debian/rules
. Dla celów
testowych możesz stworzyć plik .deb bez przebudowywania źródeł programu:
fakeroot debian/rules binary
Gdy już zakończyłeś szlifowanie Twojego pakietu, pamiętaj o przebudowaniu go zgodnie z powyższą, pełną procedurą. Może Ci się nie udać umieścić go w archiwum Debiana, gdy próbujesz zamieścić tam pliki .deb zbudowane w skrócony sposób.
debuild
Możesz zautomatyzować proces budowania pakietu za pomocą polecenia
debuild
. Zobacz debuild(1)
.
Można skonfigurować działanie programu debuild poprzez pliki
/etc/devscripts.conf
lub ~/.devscripts
. Chciałbym
zasugerować co najmniej:
DEBSIGN_KEYID="Your_GPG_keyID" DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"
W ten sposób możesz budować pakiet zawsze ze swoim kluczem GPG i bez niepotrzebnych komponenetów (zwłasza pomocne przy sponsoringu). Przykładowo czyszczenie źródeł i przebudowa pakietu z konta użytkownika jest tak proste:
debuild clean debuild
dpatch
i quilt
Proste użycie dh_make
i dpkg-buildpackage
spowoduje
utworzenie pojedynczego dużego pliku diff.gz
, zawierającego pliki
obsługujące pakiet w katalogu debian/
i plików łat do źródeł.
Taki pakiet jest uciążliwy podczas późniejszego sprawdzania dla kogoś, kto
powinien zrozumieć wszystkie wprowadzane do źródeł zmiany. Nie jest to zbyt
przyjemne [1].
Zaproponowano różne matody obsługiwania łat i używa się ich w pakietach
Debiana. Systemy dpatch
i quilt
są najprostszymi z
nich. Z innych wymienimy dbs, cdbs itd.
Pakiet, który został poprawnie zbudowany za pomocą systemu dpatch
lub quilt
, posiada dobrze udokumentowane poprawki w źródłach jako
zbiór plików łat -pl z nagłówkiem w katalogu debian/patches/
i
niezmienionym drzewem źródeł poza katalogiem debian/
. Kiedy
prosisz sponsora o wgranie Twojego pakietu, tego rodzaju wyraźne rozdzielenie i
udokumentowanie Twoich zmian jest bardzo ważne dla sprawnego przejrzenia ich
przez sponsora. Użycie dpatch
oraz quilt
jest
opisane w podręcznikach dpatch(1)
,
dpatch-edit-patch(1)
i quilt(1)
. Oba programy
udostępniają wygodne do umieszczenia w debian/rules
pliki
/usr/share/dpatch/dpatch.make
i
/usr/share/quilt/quilt.make
.
Kiedy ktoś (włączając Ciebie) chce wdrożyć poprawki do źródeł, modyfikacja pakietu jest całkiem prosta:
Wyedytuj łatę, tak aby otrzymać plik -pl jako poprawkę do źródeł.
W przypadku dpatch
dodaj nagłówek poleceniem `dpatch
patch-template'.
Przenieś nagłówek do katalogu debian/patches
.
Dodaj nazwy plików do pliku debian/patches/00list
(dla
dpatch
) lub debian/patches/series
(dla
quilt
).
dpatch
posiada też możliwość wykonywania poprawek zależnych od
architektury za pomocą makra CPP.
orig.tar.gz
podczas wgrywania
Kiedy pierwszy raz wgrywasz pakiet do archiwum, powinieneś załączyć oryginalny
plik źródłowy orig.tar.gz
. Jeśli wersja pakietu nie jest rewizją
-0 lub -1, musisz wykonać polecenie
dpkg-buildpackage
z opcją "-sa". Z drugiej
strony opcja "-sd" wymusi wyłączenie oryginalnego źródła
orig.tar.gz
.
[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ dalej ]
Podręcznik dla nowych opiekunów pakietów Debiana
wersja oryginału: 1.2.11, 12-01-2007, wersja tłumaczenia: 1.2.5, 27-09-2007joy-mg@debian.org
ptecza@debianusers.pl
porridge@debian.org
wojtekz@comp.waw.pl