[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ dalej ]
Prawdopodobnie wybrałeś już pakiet, który chcesz zbudować. Pierwszą
rzeczą, którą powinieneś zrobić, to sprawdzić, czy pakiet znajduje się
już w dystrybucji, przy pomocy programu aptitude
. Jeśli
używasz dystrybucji 'stabilnej', zapewne najlepiej przejść do strony wyszukiwania
pakietów
.
Jeśli pakiet już istnieje, to cóż, zainstaluj go! :-) Jeśli przypadkiem jest on osierocony (jego opiekunem jest "Debian QA Group"), to być może możesz się nim zaopiekować.
Sprawdź na stronie Pakietów
Rokujących i Wymagających Pracy
i stronach powiązanych ostatni
status adopcji/osierocenia pakietu.
Jeśli możesz zaadoptować pakiet, pobierz jego źródła (poleceniem apt-get source nazwa_pakietu) i przetestuj go. Niestety ten dokument nie zawiera informacji na temat adopcji pakietów. Za to nie musisz męczyć się, rozpracowując działanie danego pakietu, gdyż ktoś już wcześniej dokonał wstępnych ustawień. Ale czytaj dalej, bo poniższe porady będą z pewnością wartościowe również dla Ciebie.
Jeśli pakiet jest nowy i chciałbyś, żeby został włączony do dystrybucji Debiana, wykonaj poniższe instrukcje:
sprawdź na stronie lista pakietów w
opracowaniu
, czy ktoś już nie pracuje nad tym pakietem. Jeśli
ktoś już to robi, to możesz się z nim skontaktować, jeśli sądzisz, że
mógłbyś mu pomóc. Jeśli nie - znajdź jakiś inny interesujący Cię
program, który nie ma jeszcze swojego opiekuna.
program musi mieć licencję i, jeśli to możliwe, najlepiej
zgodną z Wytycznymi Debiana
dotyczącymi Wolnego Oprogramowania
oraz nie może
wymagać pakietów spoza sekcji main do kompilacji lub wykonania, bo jest to
niezgodne z Polityką Debiana. Jeśli nie zgadza się to z którąś z
powyższych zasad, program może być włączony do sekcji `contrib' lub
`non-free', zależnie od sytauacji. Gdy nie jesteś pewny, do której sekcji
można włączyć program, wyślij tekst licencji na listę debian-legal@lists.debian.org
i poproś o poradę.
program z pewnością nie powinien być uruchamiany z ustanowionym identyfikatorem administratora systemu (setuid root), a jeszcze lepiej - nie powinien potrzebować ustanowionego żadnego identyfikatora użytkownika lub grupy.
program nie powinien być demonem ani innym programem umieszczanym w katalogu */sbin, ani nie powinien otwierać portu jako administrator systemu.
program powinien mieć binarną, wykonywalną formę, biblioteki są trudniejsze w utrzymaniu.
program powinien być dobrze udokumentowany, a kod zrozumiały (np. nie zagmatwany).
powinieneś skontaktować się z autorem(ami) programu, aby sprawdzić czy zgadzają się na jego zapakowanie. Ważną rzeczą jest możliwość konsultacji z autorem w razie wystąpienia jakichś specyficznych problemów. Nie próbuj pakować oprogramowania, którym się nikt nie zajmuje.
i na końcu, choć wcale nie jest to najmniej ważne, musisz wiedzieć jak program działa i wypróbować go przez pewien czas.
Oczywiście powyższe zalecenia to po prostu zabezpieczenia, 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, będziesz mógł pakować nawet takie programy, ale nawet najbardziej doświadczeni deweloperzy konsultują się na liście dyskusyjnej Mentorów Debiana, gdy mają jakieś wątpliwości. Ludzie stamtąd z pewnością chętnie pomogą.
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, 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 innego 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, zapytaj (po angielsku) na liście dyskusyjnej Mentorów Debiana (wskazówka: temat `file archive.extension`).
Jako przykładu będziemy używać programu o nazwie `gentoo' - menadżera plików dla systemu X Windows, 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 utwórz podkatalog o nazwie 'debian', 'deb' lub
jakkolwiek uważasz za właściwe (np. po prostu ~/gentoo/
jest w
tym przypadku dobrym rozwiązaniem). Umieść w nim pobrane archiwum i
rozpakuj je (za pomocą `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 użytkowników, których narzędzia do wypakowywania mogą, ale nie
muszą, ignorować takie nieprawidłowości.
Teraz w katalogu tym powinieneś mieć podkatalog o nazwie `gentoo-0.9.12'. Wejdź do niego i dokładnie przeczytaj znajdującą się tam 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 rób tak, więcej o tym w rozdziale 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 pozwalają także na użycie `make check`, który 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ć w katalogu, w którym kompilowałeś. Czasem można nawet posłużyć się poleceniem `make uninstall`, które usunie wszystkie zainstalowane pliki.
Powinieneś 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 skróć ją do jednego wyrazu albo utwórz skrót. Na przykład program "John's little editor for X" powinien się nazywać johnledx, jle4x lub jakoś tak. Pamiętaj jednak, aby jego długość nie przekraczała jakiejś rozsądnej wartości, np. 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 posłużył się datą, to Ty również możesz jej użyć do określenia wersji pakietu, poprzedzając 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 zewnętrznym 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ące polecenie:
dh_make -e twój.adres@opiekuna.pl -f ../gentoo-0.9.12.tar.gz
Oczywiście musisz zastąpić ciąg "twój.adres@opiekuna.pl" adresem
Twojej skrzynki pocztowej, gdyż zostanie on wpisany do pliku ze zmianami
(changelog) i innych plików, oraz zastąpić nazwę pliku nazwą Twojego
archiwum źródłowego. Więcej szczegółów znajdziesz na stronie
podręcznika dh_make(1)
.
Trzeba też wprowadzić kilka dodatkowych informacji. Zostaniesz poproszony o podanie typu pakietu, który tworzysz. Gentoo to pojedynczy pakiet binarny - tworzy on tylko 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 wszystko się zgadza, potwierdzamy je naciskając <enter>.
Po wykonaniu dh_make
jest tworzona kopia autorskiego archiwum jako
gentoo_0.9.12.orig.tar.gz
, w katalogu nadrzędnym, w celu
dostosowania, jako niedebianowego pakietu pakietu źródłowego, do
diff.gz
. Nazwa tego pliku ma 2 zasadnicze właściwości:
Nazwa pakietu i wersja są rozdzielone przez "_" .
Został dodany sufiks "orig." przed "tar.gz" .
Powtórzmy: ponieważ jesteś jeszcze nowym opiekunem, odradzamy Ci tworzenie skomplikowanych pakietów, takich jak:
wielokrotne pakiety binarne
pakiety bibliotek
z plików źródłowych innych niż tar.gz. lub tar.bz2, czy też
z archiwów, których zawartość nie może być dystrybuowana.
Prosimy 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
wprowadzić w przyszłości nową poprawkę lub nową wersję pakietu. Więcej
informacji na ten temat znajdziesz dalej w rozdziale Aktualizacja pakietu, Część 9.
[ 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