Krótka i zgrubna instrukcja budowania pakietów z - PLD
Transkrypt
Krótka i zgrubna instrukcja budowania pakietów z - PLD
2016/01/19 14:33 1/5 Krótka i zgrubna instrukcja budowania pakietów z CVSa. Krótka i zgrubna instrukcja budowania pakietów z CVSa. napisana przez osobę, której wystarczy, że zadziałała raz Wstęp Repozytoria naszej dystrybucji zawierają tysiące paczek, pozwalających zainstalować najpopularniejsze, najważniejsze oprogramowanie. Każda paczka, którą pobierasz, jest skompresowaną wersją programu. Jednak, jak mawiają deweloperzy i administratorzy PLD - „Dyski nie są z gumy”. Nie posiadamy i nigdy nie będziemy posiadać przestrzeni dyskowej, pozwalającej pomieścić wszystkie aplikacje w repozytoriach PLD. Jest to nierealne. Dlatego też, część mniej popularnych programów oraz takich, które zajmują dużo miejsca na dyskach serwerów znajdziesz na CVS. Lista wszystkich pakietów jest dostępna na długo ładującej się stronie. W tym przewodniku poprowadzimy Ciebie za rączkę by pokazać, jak prosto można zbudować swoje ulubione programy. Wiedza Jeśli pragniesz prawdziwej wiedzy zobacz Opis skryptu builder i Przygotowanie środowiska pracy. Przygotowanie Punkty te wykonujemy tylko raz: zainstaluj narzędzia do budowania (jest to jedyna operacja, która wymaga uprawnień superużytkownika - roota) poldek -i rpm-build rpm-build-tools cvs przygotuj środowisko dla buildera Sprowadza się to do wykonania polecenia: builder --init-rpm-dir Ważne: Tę operację powinieneś wykonać gdy Twój komputer jest podłączony do internetu. Program builder stworzy w tym momencie odpowiednią strukturę katalogów i pobierze najaktualniejsze pliki, potrzebne do jego działania. W wyniku wykonania powyższego polecenia powinieneś ujrzeć: $ builder --init-rpm-dir Initialising rpm directories to /home/users/dirdival/rpm from :pserver:[email protected]:/cvsroot PLD-users.org - http://www.pld-users.org/ Last update: 2010/11/14 00:25 pl:przewodniki:budowanie-z-cvs http://www.pld-users.org/pl/przewodniki/budowanie-z-cvs U packages/.cvsignore U packages/rpm.groups U packages/dropin U packages/mirrors U packages/md5 U packages/adapter U packages/adapter.awk U packages/fetchsrc_request U packages/builder U packages/relup.sh U packages/compile.sh U packages/repackage.sh To checkout *all* .spec files (read-only): - run cvs co SPECS To checkout *all* packages: - run cvs up in /home/users/dirdival/rpm/packages dir To commit with your developer account: - edit /home/users/dirdival/rpm/packages/CVS/Root Voila! To wszystko. Dla pewności możemy upewnić się, czy odpowiednie pliki i katalogi znajdują się tam gdzie trzeba. Wystarczy zajrzeć do ~/rpm: $ cd ~/rpm $ ls BUILD packages RPMS SRPMS Warto jeszcze sprawdzić czy skrypt builder ustawił zmienną CVSROOT: $ echo $CVSROOT :pserver:[email protected]:/cvsroot Jeśli na konsoli nie zobaczysz powyższej linijki, będziesz musiał ustawić tą zmienną środowiskową sam. Jeśli korzystasz z basha, wystarczy dopisać na końcu pliku .bashrc poniższą linijkę: export CVSROOT=":pserver:[email protected]:/cvsroot" i przelogować użytkownika. Budowanie pakietów W końcu klucz programu, czyli budowanie pakietów. Tutaj znajduje się cała magia specy. Wystarczy wywołać polecenie: builder <nazwa programu> Na przykład: builder celestia http://www.pld-users.org/ Printed on 2016/01/19 14:33 2016/01/19 14:33 3/5 Krótka i zgrubna instrukcja budowania pakietów z CVSa. Tak, to wszystko! Budowniczy za Ciebie pobierze źródła aplikacji, sprawdzi czy są zainstalowane wszystkie wymagane pakiety i przystąpi do pracy. Jeśli wszystko pójdzie zgodnie z planem, paczka zostanie utworzona i trafi do katalogu: ~/rpm/RPMS. Wystarczy wtedy uruchomić poldka i ją zainstalować. Przy budowie niektórych aplikacji możemy natrafić na tak zwane flagi, czyli dodatkowe parametry budowania. Pozwalają one na większą kontrolę nad tym co chcemy uzyskać. Wyświetlane są one przez skrypt builder na samym początku. Jeśli chcesz się nimi posłużyć wciśnij Ctrl-C, aby przerwać budowanie i uruchom budowniczego z wybranymi parametrami. Najlepiej omówić je na przykładzie: $ builder celestia builder: SMP make flags are set to -j4 # $Revision: 1.71 $, $Date: 2008/09/02 19:37:50 $ No conditional flags passed from available: --with : glut gnome gtk --without: kde theora Available branches: AC-branch RA-branch ^C Jak widać mamy dostępne dwa rodzaje flag –with i –without. Pierwszy z nich mówi, co dodatkowego dla pakietu możemy zrobić. Druga grupa odwrotnie, możemy za ich pomocą powiedzieć, że czegoś nie chcemy. Na przykład: $ builder --with gnome --with gtk --without kde celestia Będzie to oznaczało, że chcemy zbudować paczkę celestia ze wsparciem dla gnome a nie chcemy wsparcia dla środowiska kde. Możemy podawać wiele parametrów budowania w dowolnej kolejności. Po ich ustawieniu skrypt builder poinformuje nas, że je wykrył, otaczając wybrane flagi ostrymi nawiasami: $ builder --with gnome --without kde celestia builder: SMP make flags are set to -j4 # $Revision: 1.71 $, $Date: 2008/09/02 19:37:50 $ Building celestia.spec with the following conditional flags: --with gnome --without kde from available: --with : glut <gnome> gtk --without: <kde> theora Jeśli nie jesteś pewien za co odpowiadają poszczególne flagi, możesz zajrzeć do pliku spec. Na jego początku powinny znajdować się wszystkie możliwe parametry budowania oraz krótka informacja o każdym z nich. Plik spec znajdziesz w katalogu: ~/rpm/packages/nazwaprogramu/nazwaprogramu.spec czyli w tym konkretnym przypadku jest to: ~/rpm/packages/celestia/celestia.spec PLD-users.org - http://www.pld-users.org/ Last update: 2010/11/14 00:25 pl:przewodniki:budowanie-z-cvs http://www.pld-users.org/pl/przewodniki/budowanie-z-cvs Co może pójść nie tak? Deweloperzy PLD dokładają wszelkich starań by spece, służące do budowania pakietów, były dobrze napisane i pozwalały automatycznie tworzyć pakiety. Ta drobiazgowość dotyczy również wymagań jakie nasz system musi spełnić by móc zbudować wybrany program. Dlatego, jeśli nie uda Ci się utworzyć pakietu, najprawdopodobniej przyczyną tego będzie brak wymaganej paczki w Twoim systemie. Objawia się to w taki sposób: $ builder geany builder: SMP make flags are set to -j4 M geany/geany.spec # $Revision: 1.30 $, $Date: 2009/08/17 04:11:43 $ Available branches: AC-branch geany-0.18.tar.bz2 having proper md5sum already exists błąd: Niespełnione zależności budowania: vte-devel jest wymagany przez geany-0.18-1.src Error: package build failed. (no more info) Skrypt builder poinformował nas, że do budowy edytora geany wymagane jest zainstalowanie paczki: vte-devel. Musimy teraz wejść do poldka i zainstalować niezbędny pakiet. Paczki zawierające w nazwie słowo devel posiadają najczęściej biblioteki i pliki nagłówkowe (nie przejmuj się jeśli nie rozumiesz - to informacja dla programistów). Po zbudowaniu naszego edytora będzie można je usunąć, bądź pozostawić na przyszłość. Wiele programów korzysta z tych samych bibliotek przy budowaniu i na ogół nie zajmują dużo miejsca na dysku. Jeśli podczas budowy paczki przytrafi się Tobie inny błąd, niedotyczący zależności, powinieneś zgłosić go deweloperom. Możesz to uczynić wysyłając ostatnie kilkanaście linii skryptu buildera na: listę deweloperów PLD, bądź na Forum PLD. Warto wiedzieć, że ... Wszystkie pakiety z repozytoriów PLD powstają w wyżej opisany sposób. Jeśli komuś bardzo zależy na jak najnowszych wersjach newralgicznych części systemu (jądrze systemu, głównych usługach w których wykryto poważne błędy), warto samemu budować odpowiednie paczki. Na ogół mija trochę czasu (kilka dni) nim nowe wersje trafią do głównych repozytoriów. W tym miejscu warto przypomnieć, że można zgłosić, w prosty sposób, zbudowanie jakiejś paczki za pomocą bota stbr. Szczegółowy opis jak to zrobić znajduje się w przewodniku stbr - droga by wybrana paczka znalazła się w repo. Na koniec wypada wspomnieć, że wspomniany CVS, z którego pobierane są spece, to zwykły publiczny CVS z prawami do odczytu. Dlatego można pracować na nim jak na zwykłym systemie kontroli wersji. Ale to już inna bajka. http://www.pld-users.org/ Printed on 2016/01/19 14:33 2016/01/19 14:33 5/5 Krótka i zgrubna instrukcja budowania pakietów z CVSa. From: http://www.pld-users.org/ - PLD-users.org Permanent link: http://www.pld-users.org/pl/przewodniki/budowanie-z-cvs Last update: 2010/11/14 00:25 PLD-users.org - http://www.pld-users.org/