[ 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
Część 6 - Budowanie pakietu


Teraz już powinniśmy być gotowi do zbudowania pakietu.


6.1 Całkowita przebudowa

Wejdź do katalogu głównego programu i wydaj w nim polecenie:

       dpkg-buildpackage -rfakeroot

Wykona ono wszystko, to znaczy:

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/):

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.


6.2 Szybka przebudowa

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.


6.3 Polecenie 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

6.4 Systemy 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:

dpatch posiada też możliwość wykonywania poprawek zależnych od architektury za pomocą makra CPP.


6.5 Dołączanie 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-2007

Josip Rodin joy-mg@debian.org
polskie tłumaczenie: Paweł Tęcza ptecza@debianusers.pl
korekta tłumaczenia: Marcin Owsiany porridge@debian.org
wznowienie tłumaczenia: Wojciech Zaręba wojtekz@comp.waw.pl