Bob Budowniczy
Table of contents
Wprowadzenie
Niektóre pakiety bardzo istotne z punktu widzenia użytkownika (np. firefox, czy wine) są bardzo często aktualizowane. Zazwyczaj jednak modyfikacje dotyczą kodu źródłowego i nie wymagają zmian pliku .spec wykraczających poza zmianę numeru wersji i sumy kontrolnej pliku źródłowego. W takich sytuacjach może wkroczyć Bob Budowniczy - system skryptów automatyzujących utworzenie nowej paczki zgodnej z wymaganiami Jazz-Linux?. Dzięki Bobowi można znacznie skrócić czas od opublikowania źródeł nowej wersji aplikacji do momentu pojawienia się zaktualizowanej paczki w naszych repozytoriach.Dlaczego właśnie Bob Budowniczy?
Bo sympatyczny, pomocny, pracowity. I ,,zawsze da radę''Skąd pobrać Boba
W chwili obecnej Bob dostępny jest w naszym repozytorium svn. Aby go pobrać i zainstalować, wykonaj polecenia:$ svn co http://svn.jazzlinux.org/repos/projects/skrypty/builder bob $ cd bob $ echo export PATH=\$PATH:`pwd` >> ~/.bash_profile
Pierwsza linijka pobiera źródła Boba. Druga i trzecia ma za zadanie dopisać ścieżke, w której się znajduje, do ścieżki przeszukiwania.
Pliki konfiguracyjne
Konfiguracja Boba
Głównym plikiem konfiguracyjnym Boba jest plikmain.conf. Zawiera definicję zmiennych:-
PACKAGER- domyślna nazwa osoby tworzącej paczkę, wraz z adresem e-mail. -
MOCK- określa, czy chcemy wygenerowany plik.speczbudować w środowisku mock. Oczywiście, że chcemy.
Konfiguracja pakietu
Każdy pakiet zawiera dodatkowo swoją własną konfigurację, zapisaną w plikunazwa.conf (-+nazwa+- jest również jednym z parametrów wywołania Boba), określającą:-
BASEURL- ścieżka URL do zasobu, z którego można pobrać plik ze źródłami, -
FILE- nazwa pliku ze źródłami.
W pliku konfiguracyjnym możemy użyć ciągu
@VERSION@, który zostanie zamieniony na numer wersji oprogramowania.Przykładowy plik firefox.conf
# Where we can find main sources BASEURL=ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/@VERSION@/source/ # File name FILE=firefox-@VERSION@-source.tar.bz2
Szablony
Szablon pliku.spec pakietu o nazwie nazwa zapisany musi być w pliku templates/nazwa.spec.in. Jest to zwykły plik spec z wstawionymi w odpowiednie miejsca znacznikami @VERSION@ oraz @SUMAMD5@. W procesie budowania znaczniki te zamieniane są na odpowiednie wartości.Wykorzystywane skrypty
Głównym skryptem uruchamiającym budowę jestbbuild.sh. Zanim go uruchomimy, należy go otworzyć w dowolnym edytorze tekstu i w linijce definiującej zmienną CFGDIR podać katalog, w którym zainstalowaliśmy Boba.Skrypt
bbuild.sh wywołujemy go z dwoma parametrami:- nazwą budowanego pakietu (-+nazwa+- z poprzedniego punktu)
- numerem wersji
Przykład:
bbuild.sh firefox 2.0.0.12
W przypadku, gdy chcemy zbudować pakiet w środowisku mock (chcemy!), przydatny jest również drugi skrypt,
jazzuj.sh ułatwiający budowę pakietu w tym środowisku. Przed jego użyciem, wyedytuj go i w linijce definiującej zmienną LOCALREPO podaj ścieżkę do swojego lokalnego repozytorium testowego.Do zrobienia
- Na obecnym etapie rozwoju Bob nie pobiera patchy - muszą one zostać zainstalowane osobno, np. z poprzedniej wersji pliku
.src.rpm. - Można by było napisać program instalacyjny, modyfikujący
$PATH, oraz wpisujący ścieżkę instalacji do$CFGDIRw skrypciebbuild.sh.
Created by Slubek
.
Last Modification: Piątek 15 strony Luty, 2008 23:40:58 CET by Slubek
.










