Prawdopodobnie wybrałeś/wybrałaś już pakiet, który chcesz zbudować. Pierwszą
rzeczą, którą powinieneś/powinnaś zrobić, to sprawdzić czy pakiet znajduje się
już w dystrybucji. Jeśli używasz dystrybucji `stabilnej' (stable), to chyba
najlepiej będzie, gdy udasz się na stronę z przeszukiwarką
pakietów
. Jeśli zaś używasz aktualnej
`niestabilnej' (unstable) dystrybucji, to sprawdź wynik działania poniższych
komend:
dpkg -s nazwa_programu dpkg -l '*nazwa_programu*'
Jeśli pakiet już istnieje, to cóż, zainstaluj go! :-) Jeśli przypadkiem jest
on osierocony (jego opiekunem jest "Debian QA Group"), to możesz się
nim zaopiekować. Sprawdź na liście osieroconych
pakietów
i liście pakietów
przeznaczonych do adopcji
czy istotnie można przejąć opiekę nad tą
paczką.
Jeśli możesz zaadoptować pakiet, to pobierz jego źródła (za pomocą komendy apt-get source nazwa_pakietu) i przetestuj go. Niestety ten dokument nie zawiera informacji na temat adopcji pakietów. Na szczęście nie powinieneś męczyć się rozpracowując działanie danego pakietu, gdyż ktoś już wcześniej dokonał wstępnych ustawień dla Ciebie. Dalsze czytanie poniższych porad będzie z pewnością odpowiednie również w Twoim przypadku.
Jeśli pakiet jest nowy i chciałbyś, żeby został włączony do dystrybucji Debiana, to wykonaj poniższe instrukcje:
lista pakietów
będących w budowie
czy ktoś już nie pracuje nad tym pakietem. Jeśli
ktoś już to robi, to możesz się z nim skontaktować, gdy czujesz, że mógłbyś mu
pomóc. W przeciwnym przypadku znajdź jakiś inny interesujący Cię program,
który nie ma jeszcze swojego opiekuna.
Wytycznymi Debiana
dotyczącymi Oprogramowania Wolnodostępnego
. Jeśli nie zgadza się
ona z którymiś zasadami wymienionymi w powyższym dokumencie, to program może
być włączony do sekcji `contrib' lub `non-free' Debiana. Gdy nie jesteś pewny,
do której sekcji można włączyć program, to wyślij licencję tego programu na
listę dyskusyjną debian-legal@lists.debian.org
i poproś o poradę.
Oczywiście powyższe rzeczy to po prostu środki zaradcze, które mają na celu
uchronić Cię przed gniewem użytkowników, gdy zrobisz coś źle w jakimś demonie z
ustanowionym identyfikatorem użytkownika... Gdy nabierzesz już więcej
doświadczenia w pakowaniu, to zdołasz nawet zapakować takie programy, których
powyżej Ci odradzałem. Jednakże nawet najbardziej doświadczeni rozwijający
Debiana konsultują się na liście dyskusyjnej Mentorów Debiana (dostępnej pod
adresem debian-mentors@lists.debian.org
),
gdy mają jakieś wątpliwości, a ludzie do niej zasubskrybowani chętnie im
pomagają.
Więcej informacji na te tematy znajdziesz w dokumencie Developer's Reference.
Pierwszą rzeczą, którą powinieneś zrobić, to odnalezienie i pobranie oryginalnego pakietu. Zakładam, że już masz plik źródłowy, który pobrałeś ze strony domowej jego autora. Źródła z wolnym oprogramowaniem dla Uniksa są zwykle rozprowadzane w formacie tar/gzip, czyli plikach z rozszerzeniem .tar.gz. Pliki te na ogół zawierają podkatalog o nazwie program-wersja, w którym znajdują się wszystkie pliki źródłowe. Jeśli źródła wybranego przez Ciebie programu są rozprowadzane w innym rodzaju archiwum (na przykład pliki kończące się na ".Z" lub ".zip"), to wypakuj je przy pomocy odpowiedniego narzędzia. Gdy nie jesteś pewien jak zrobić to poprawnie, to zapytaj na liście dyskusyjnej Mentorów Debiana (wskazówka: wydaj polecenie `file archiwum.rozszerzenie`).
Dla przykładu, używam programu o nazwie `gentoo' - menadżera plików dla systemu X Window, który wykorzystuje bibliotekę GTK+. Zwróć uwagę, że program ten jest już zapakowany i znacznie się zmienił od czasu, gdy pisany był ten tekst.
W swoim katalogu domowym stwórz podkatalog o nazwie 'debian', 'deb' lub jakkolwiek uważasz za właściwe (po prostu katalog ~/gentoo/ byłby w tym przypadku dobrym rozwiązaniem). Umieść w nim pobrane archiwum i rozkompresuj je (za pomocą komendy `tar xzf gentoo-0.9.12.tar.gz`). Upewnij się, że nie ma żadnych błędów, nawet jakichś nieistotnych, ponieważ najprawdopodobniej pojawią się problemy w czasie rozpakowywania w systemach innych ludzi, których narzędzia do wypakowywania mogą, ale nie muszą ignorować takich nieprawidłowości.
Teraz w katalogu tym powinieneś mieć inny podkatalog o nazwie `gentoo-0.9.12'. Wejdź do niego i dokładnie przeczytaj dostarczoną dokumentację. Zwykle powinny tam być pliki o nazwach README*, INSTALL*, *.lsm lub *.html. Odszukaj w dokumentacji instrukcji jak poprawnie skompilować i zainstalować program (najprawdopodobniej będą one zakładać, że chcesz zainstalować program do katalogu /usr/local/bin; ale Ty nie będziesz tego robić z powodów, których się dowiesz czytając sekcję Instalacja w podkatalogu, Rozdział 3.1).
Proces instalacji różni się w zależności od programu, ale wiele nowoczesnych programów jest dostarczanych ze skryptem `configure', który konfiguruje źródła pod Twoim systemem i sprawdza czy spełniają one warunki niezbędne do poprawnej kompilacji. Po zakończeniu konfiguracji wykonywanej za pomocą polecenia `./configure`, programy są na ogół kompilowane przy użyciu komendy `make`. Niektóre z nich wspierają także komendę `make check`, która uruchamia procedurę samosprawdzającą. Instalacja w katalogu przeznaczenia następuje zwykle po wydaniu polecenia `make install`.
Teraz spróbuj skompilować i uruchomić program, aby upewnić się czy działa on prawidłowo i nic się nie psuje w czasie instalacji lub wykonywania.
Możesz też zazwyczaj użyć polecenia `make clean` (lub lepiej `make distclean`), aby posprzątać po zbudowanym katalogu. Czasem można nawet posłużyć się poleceniem `make uninstall`, które usunie wszystkie zainstalowane pliki.
Powinieneś/powinnaś rozpocząć pakowanie z zupełnie wyczyszczonym (ang. pristine - pierwotnym) katalogiem źródłowym, ewentualnie ze świeżo rozpakowanymi źródłami.
Aby prawidłowo zbudować pakiet, musisz tak zmienić nazwę oryginalnego programu, żeby występowały w niej tylko małe litery (o ile występują tam jakieś wielkie litery). Powinieneś także przenieść katalog ze źródłami do katalogu <nazwa_pakietu>-<wersja>.
Jeśli nazwa programu składa się z więcej niż jednego wyrazu, to obetnij ją do jednego wyrazu albo utwórz skrót, na przykład pakiet z programem "John's little editor for X" powinien się nazywać johnledx, jle4x lub tak jak zdecydujesz. Pamiętaj jednak, aby jego długość nie przekraczała jakiejś rozsądnej wartości, dla przykładu 20 znaków.
Sprawdź także dokładnie wersję programu (będzie ona włączona do nazwy pakietu). Jeśli do oznaczenia jego wersji autor nie użył konwencji X.Y.Z, ale, dla przykładu, posłużył się datą, to Ty również możesz jej użyć do określenia wersji pakietu (poprzedź ją ciągiem "0.0.", na wypadek gdyby autor programu zdecydował się kiedyś wydać wersję o miło brzmiącym numerze 1.0). Zatem, jeśli datą wydania danej wersji programu było 19 grudnia 1998 r., to powinieneś oznaczyć jego wersję jako 0.0.19981219.
Niektóre programy nie są jednak w żaden sposób numerowane. W takich przypadkach powinieneś skontaktować się z nieoficjalnym opiekunem, aby dowiedzieć się czy używa on jakiejś innej metody do oznaczania kolejnych poprawek programu.
Upewnij się, że jesteś w katalogu ze źródłami programu i wydaj następującą komendę:
dh_make -e twój_adres@e-mail -f ../gentoo-0.9.12.tar.gz
Oczywiście musisz zastąpić ciąg "twój_adres@e-mail" adresem Twojej
skrzynki pocztowej, gdyż zostanie on wpisany do pliku ze zmianami (`changelog')
i jeszcze innych plików. Musisz również zastąpić nazwę pliku nazwą Twojego
oryginalnego archiwum źródłowego. Więcej szczegółów znajdziesz na stronie
podręcznika dh_make(1)
.
Będziesz musiał/musiała też wprowadzić kilka dodatkowych informacji. Zostaniesz poproszony/poproszona o podanie typu archiwum jakie tworzysz. Gentoo to pojedynczy pakiet binarny - tworzy on tylko jeden plik binarny, a zatem jeden plik .deb. W takim wypadku zaznaczamy pierwszą opcję za pomocą klawisza `s'. Następnie sprawdzamy informacje na ekranie i jeśli się wszystko zgadza, to potwierdzamy je naciskając <enter>.
Ponieważ jesteś jeszcze nowym opiekunem, to odradzam Ci tworzenie pakietów z wieloma pakietami binarnymi lub bibliotekami. Budowanie ich nie jest wcale takie trudne, ale wymaga trochę większej wiedzy, zatem nie będziemy tutaj wszystkiego opisywać.
Proszę zauważyć, że powinno się uruchomić program dh_make tylko jeden raz, gdyż nie zachowa się on poprawnie, gdy uruchomisz go ponownie w tym samym, już "zdebianizowanym" katalogu. Oznacza to również, że będziesz musiał użyć innej metody, aby zrealizować w przyszłości nową poprawkę lub nową wersję pakietu. Więcej informacji na ten temat znajdziesz później w sekcji Aktualizacja pakietu, Część 9.
Podręcznik dla nowych opiekunów pakietów Debiana
wersja oryginału: 1.2, 6 kwietnia 2002. wersja tłumaczenia: 1.2.2, 17 marca 2004joy-mg@debian.org
ptecza@debianusers.pl
porridge@debian.org