- Zaczniemy od ściągnięcia binarek. Nie jest to oczywiście przedmiotem naszego poradnika, więc nie będziemy poświęcać temu zbyt dużo czasu. Trzeba jednak powiedzieć, że są one dostarczone w archiwum, które po rozpakowaniu staje się folderem o nazwie firefox.
- Stwórzmy folder, w którym będziemy trzymać wszystkie części naszego pakietu. Niech nazywa się on firefox_paczka.
- W folderze tym stwórzmy folder o nazwie DEBIAN. Jest to najważniejsza część naszej paczki. Muszą znajdować się w nim dwa pliki:
control - W naszym przypadku będzie on wyglądał w sposób następujący:Jedyna niejasność tutaj może dotyczyć pola Description. W pierwszej linijce jest opis skrócony, zaś w drugiej (koniecznie z wcięciem) szerszy.Kod: Zaznacz cały
Package: firefox Version: 3.5.4 Section: web Priority: optional Architecture: i386 Depends: libgtk2.0-0 (>= 2.10), libglib2.0-0 (>= 2.16.0), libc6 (>= 2.4), debianutils (>= 1.16) Conflicts: iceweasel Installed-Size: 31457 Maintainer: mozilla Description: The lightweight browser provided by Mozilla. Firefox delivers safe, easy web browsing. A familiar user interface, enhanced security features including protection from online identity theft, and integrated search let you get the most out of the web.
Drugi plik to data. Nim zajmiemy się na samym końcu. Podobnie opcjonalnymi skryptami postinst i prerm. - Obok folderu DEBIAN umieszczamy nasz ściągnięty i rozpakowany firefox. Nie wystarczy jednak go tak po prostu skopiować. Trzeba umieścić go w dobrym miejscu w systemie plików, w którym będziemy instalować paczkę - załóżmy, że chcemy, by nasz rozpakowany folder znalazł się w /usr/share. Musimy zatem we wspomnianym już firefox_paczka stworzyć folder o nazwie usr, a w nim share. Dopiero tam kopiujemy firefoxa. ¯eby wszystko było zrobione porządnie, warto stworzyć też wpis w Debianowym menu - w firefox_paczka/usr/share trzeba stworzyć menu, a w nim plik firefox:
.
Kod: Zaznacz cały
?package(firefox):needs="x11" section="Applications/Network/Web Browsing" \ title="Firefox" \ longtitle="Firefox Web Browser" \ icon="/usr/share/firefox/icons/mozicon50.xpm" \ command="/usr/bin/firefox" \ hints="Web browsers"
Wszystkie pliki w katalogu firefox_paczka, a poza DEBIAN muszą należeć do roota. - W mojej paczce znalazły się jeszcze inne dodatkowe pliki. Zrobiłem dowiązanie usr/bin/firefox -> ../share/firefox/firefox, dzięki któremu mogę uruchamiać firefoxa krótkim poleceniem. Poza tym dodałem do wyszukiwarek tę z repozytoriów Debiana, a do ustawień standardowych identyfikację systemu. Nie będę wchodził w te niepotrzebne szczegóły.
- Wróćmy do katalogu DEBIAN. W pliku data musi się znaleźć lista dostarczanych przez pakiet plików. Ja tworzę ją poleceniem Następnie wywalam wszystkie wpisy z folderem DEBIAN i usuwam kropki (a także podsumowanie, które znajdzie się na samym końcu pliku). Mój plik data wygląda tak:
Kod: Zaznacz cały
tree -i -f firefox_paczka > firefox_paczka/DEBIAN/data
Kod: Zaznacz cały
/usr /usr/bin /usr/bin/firefox -> ../share/firefox/firefox /usr/share /usr/share/firefox /usr/share/firefox/README.txt /usr/share/firefox/Throbber-small.gif /usr/share/firefox/application.ini /usr/share/firefox/blocklist.xml /usr/share/firefox/browserconfig.properties i tak dalej...
- Jak już wspomnieliśmy. W DEBIAN mogą też być skrypty postinst i prerm. Służą one do konfigurowania systemu przez paczkę. I znowu najlepiej posłużyć się przykładem:
(postinst)(prerm)Kod: Zaznacz cały
#!/bin/sh set -e case "$1" in configure) update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/firefox 55 update-alternatives --set x-www-browser /usr/bin/firefox ;; esac
Pliki te mówią systemowi, że po instalacji Firefoxa, ma się on stać domyślną przeglądarką, zaś gdy się go pozbędziemy, musi przestać nią być.Kod: Zaznacz cały
#! /bin/sh set -e case "$1" in remove) update-alternatives --remove x-www-browser /usr/bin/firefox ;; esac
Kod: Zaznacz cały
dpkg-deb --build firefox_paczka .