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/

Podobne dokumenty