[ Pobierz całość w formacie PDF ]
archiwum tarball dla upstream:
114 Rozdział 3 Zarządzanie pakietami
$ cd most-5.0.0a
$ uupdate ../most-5.0.1.tar.gz
Program uupdate zwykle prawidłowo określi numer wersji archiwum tarball zawierającego upstream,
a następnie wprowadzi w starej wersji kodu zródłowego wszystkie zmiany wprowadzone w now-
szej wersji. Jeżeli program uupdate nie będzie mógł określić numeru wersji, trzeba go podać jako
drugi argument programu.
Dane wyjściowe programu uupdate powinny wyjaśnić cały zachodzący proces, którego zwieńcze-
niem będzie opis wskazujący na położenie nowego, zmodyfikowanego zródła. W omawianym
przykładzie zmiana na ../most-5.0.1 spowodowała przejście do nowego uaktualnionego kata-
logu pakietu. Dobrym rozwiązaniem jest sprawdzenie wszystkiego i upewnienie się o prawidło-
wości przeprowadzonego procesu. Szczególnie warto sprawdzić podkatalog debian/ i przyjrzeć
się znajdującym się tam plikom control i changelog. Drugi z wymienionych zostanie uaktualniony
automatycznie, ale prawdopodobnie będzie wymagał drobnych korekt. Akapit na początku infor-
muje o nowym wydaniu i będzie zawierał informacje o zmianach wprowadzonych w pliku. Gdy
użytkownik jest zadowolony z uzyskanych efektów, pozostaje zbudowanie pakietu za pomocą
polecenia dpkg-buildpackage w sposób omówiony we wcześniejszej części rozdziału.
Tworzenie pakietu zupełnie od początku
Tworzenie pakietu zupełnie od początku jest znacznie bardziej skomplikowane i wymaga pewnej
wiedzy dotyczącej wewnętrznej budowy pakietów Debiana. To oczywiście wykracza poza zakres
niniejszej książki. Warto jednak w tym miejscu wspomnieć o możliwości niemal łatwego utwo-
rzenia pakietów za pomocą programu dh_make, który jest wywoływany z nierozpakowanego kodu
zródłowego tarball z wersji upstream przygotowanej przez pierwotnego twórcę oprogramowania.
W przypadku wielu prostych pakietów program dh_make wykonuje większość ciężkiej pracy zwią-
zanej z utworzeniem działającego pakietu.
Więcej informacji na temat tworzenia pakietów dla Ubuntu oraz dokładne omówienie procesu
tworzenia pakietu zupełnie od początku można znalezć na stronie https://wiki.ubuntu.com/
PackagingGuide.
Warto w tym miejscu wspomnieć o jednej kwestii związanej z dokumentacją Ubuntu. Dokument
znajdujący się na wymienionej wyżej stronie koncentruje się na tworzeniu pakietów przezna-
czonych do umieszczania w repozytoriach Ubuntu. Jeżeli użytkownik tworzy pakiety przezna-
czone do instalacji jedynie we własnym systemie, potencjalna szkodliwość pakietu jest znacznie
mniejsza, a wiele wskazówek w wymienionym dokumencie można tak właśnie potraktować
zwłaszcza w pierwszej wersji pakietu. To jest różnica między pakietami działającymi i spełnia-
jącymi politykę zgodności.
Kiedy użytkownik zamierza tworzyć pakiety, dzielić się nimi z innymi i wreszcie umieszczać je
w repozytoriach Ubuntu, wówczas bardzo dobrym pomysłem będzie dokładne zastosowanie
się do wskazówek zamieszczonych w wymienionym dokumencie i używanie programów takich
Tworzenie własnych pakietów 115
jak lintian, które sprawdzą pakiet pod kątem wielu najczęściej występujących błędów, co jest
użyteczne w wielu sytuacjach. Jeżeli pakiet ma jedynie działać, prawdopodobnie wystarczające
będzie zapoznanie się z dokumentacją programu dh_make i jego użycie.
Hosting własnych pakietów
Ostatnim etapem w procesie tworzenia własnych pakietów jest ich hosting w miejscu, które
inni użytkownicy mogą po prostu dodać do swojego pliku sources.list w sposób przedstawiony
we wcześniejszej części rozdziału. Istnieje tutaj kilka rozwiązań. Najłatwiejsze i najczęściej spo-
tykane w świecie Ubuntu polega na użyciu Launchpad czyli infrastruktury zbudowanej przez
firmę Canonical i intensywnie wykorzystywanej podczas prac nad kolejnymi wydaniami Ubuntu
i umieszczeniu pakietu w tak zwanym osobistym archiwum pakietów (ang. Personal Package
Archive, PPA).
Dzięki PPA programista może po prostu przekazać pakiet kodu zródłowego do Launchpad,
a pakiet następnie zostanie zbudowany dla wielu różnych architektur i umieszczony w repozyto-
rium PPA. PPA działa dokładnie w taki sam sposób, w jaki są prowadzone prace nad Ubuntu.
Z tego powodu to cenne doświadczenie pozwalające przekonać się, jak wygląda cały proces, gdy
użytkownik zdecyduje się na przekazanie pakietu do Ubuntu i zaangażowanie w prace po tamtej
stronie. We wcześniejszej części rozdziału pokazano, że podczas dołączania repozytorium z pakie-
tami Bazaar do listy pakietów nastąpiło użycie Bazaar PPA. Więcej informacji na temat PPA można
znalezć na stronach https://help.launchpad.net/Packaging/PPA i https://launchpad.net/ubuntu/+ppas.
Alternatywnym rozwiązaniem jest hosting pakietów we własnym repozytorium utworzonym
w ramach posiadanego serwera. Do tego celu można wykorzystać wiele różnych narzędzi.
Wprawdzie klasycznym narzędziem jest tutaj pakiet o nazwie apt-ftparchive, ale prawdopo-
dobnie lepszym rozwiązaniem będzie użycie nowszego projektu o nazwie reprepro. Dobrym
punktem wyjścia będzie instalacja pakietu o podanej nazwie i zapoznanie się z dostarczoną doku-
mentacją.
[ Pobierz całość w formacie PDF ]