Pakowanie z Debhelper
Ważny Wymagania: Wymagania sekcji "Opakowanie od zera" plus debhelper i dh-make Jako pakujący rzadko tworzysz paczki od zera, tak jak to zrobiliśmy w poprzedniej sekcji. Jak możesz sobie wyobrazić, wiele zadań i informacji w zasady Plik, na przykład, jest wspólny dla pakietów. Aby ułatwić i usprawnić pakowanie, możesz użyć debhelper aby pomóc w tych zadaniach. Debhelper to zestaw skryptów Perla (poprzedzony prefiksem dh_), które automatyzują proces budowania pakietów. Dzięki tym skryptom budowanie pakietu Debiana staje się dość proste. W tym przykładzie ponownie skompilujemy pakiet GNU Hello, ale tym razem porównamy naszą pracę do Ubuntu hello-debhelper pakiet. Ponownie utwórz katalog, w którym będziesz pracował: Następnie pobierz pakiet źródłowy Ubuntu: Podobnie jak w poprzednim przykładzie, pierwszą rzeczą, którą musimy zrobić, jest rozpakowanie oryginalnego (wyższego) archiwum. Zamiast kopiować archiwum do hello_2.1.1.orig.tar.gz tak jak w poprzednim przykładzie, pozwolimy dh_make wykonuj za nas pracę. Jedyne, co musisz zrobić, to zmienić nazwę folderu źródłowego, tak aby miała postać
Aby utworzyć początkową "debianizację" źródła, z którego będziemy korzystać dh_make. dh_make poprosi Cię o serię pytań: Uwaga Tylko biegnij dh_make -e pewnego razu. Jeśli uruchomisz go ponownie po raz pierwszy, nie będzie działał poprawnie. Jeśli chcesz go zmienić lub popełniłeś błąd, usuń katalog źródłowy i odtwórz archiwum źródłowe na nowo. Następnie możesz przeprowadzić migrację do katalogu źródłowego i spróbować ponownie. Bieganie dh_make -e robi dwie rzeczy: The dzień dobry Program nie jest bardzo skomplikowany, a jak widzieliśmy w sekcji "Opakowanie od zera", jego pakowanie nie wymaga dużo więcej niż podstawowych plików. Dlatego usuńmy .dawny pliki: Dla dzień dobry, ty też nie * Licencja * Indeks przewodników po pakiecie Ubuntu potrzeba README.Debian (Plik README dla konkretnych problemów z Debianem, a nie README programu), dirs (używane przez dh_installdirs do tworzenia potrzebnych katalogów), docs (używane przez dh_installdocs zainstalować dokumentację programu), lub info (używane przez dh_installinfo aby zainstalować pliki info) w pliku debian informator. Aby uzyskać więcej informacji na temat tych plików, zobacz sekcję o nazwie "przykładowe pliki dh_make". W tym momencie powinieneś mieć tylko dziennik zmian, compat, kontrola, Prawo autorskie, i zasady pliki w debian informator. W sekcji "Opakowanie od zera" jedynym plikiem, który jest nowy, jest compat, który jest plikiem zawierającym debhelper wersja (w tym przypadku 4), która jest używana. Będziesz musiał dostosować dziennik zmiannieznacznie w tym przypadku, aby odzwierciedlić nazwę tego pakietu hello-debhelper raczej niż po prostu dzień dobry: Używając debhelper, jedyne rzeczy, które musimy zmienić kontrola jest nazwa (podstawienie dzień dobry dla hello-debhelper) i dodawanie debhelper (> = 4.0.0) do Zbuduj-zależy pole dla pakietu źródłowego. Pakiet Ubuntu dla hello-debhelper wygląda jak: Możemy skopiować Prawo autorskie plik i postinst i prerm skrypty z Ubuntu hello-debhelper pakiet, ponieważ nie zmieniły się od sekcji o nazwie "Opakowanie od zera". Skopiujemy również zasady plik, abyśmy mogli to sprawdzić. Ostatni plik, na który musimy zwrócić uwagę, to zasady, gdzie moc debhelper można zobaczyć skrypty. The debhelper wersja zasady jest nieco mniejszy (54 linie w przeciwieństwie do 72 linii w wersji z sekcji o nazwie "rules"). The debhelper Wersja wygląda następująco: touch build binary-indep: install # Brak plików niezależnych od architektury, które mają być przesłane # wygenerowane przez ten pakiet. Gdyby były, byłyby # zrobione tutaj. binary-arch: install dh_testdir -a dh_testroot -a dh_installdocs -a NEWS dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binarny: binary-indep binarny arch .PHONY: binarne, binarne, czyste, binarne checkroot Zauważ, że zadania takie jak testowanie, jeśli jesteś w odpowiednim katalogu (dh_testdir), upewniając się, że budujesz pakiet z uprawnieniami roota (dh_testroot), instalowanie dokumentacji (dh_installdocs i dh_installchangelogs) i czyszczenie po kompilacji (dh_clean) są obsługiwane automatycznie. Wiele pakietów jest znacznie bardziej skomplikowanych niż dzień dobry mieć zasady pliki nie większe, ponieważ debhelper skrypty obsługują większość zadań. Aby uzyskać pełną listę debhelper skrypty, patrz sekcja "Lista debhelper skrypty. "Są również dobrze udokumentowane w swoich skryptach mężczyzna strony. Jest to przydatne ćwiczenie, aby przeczytać stronę podręcznika (są one dobrze napisane i nie długotrwałe) dla każdego skryptu pomocniczego użytego w powyższym tekście zasady plik.




