[ 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