Drukuj

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ę'' wink

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 plik main.conf. Zawiera definicję zmiennych:
  • PACKAGER - domyślna nazwa osoby tworzącej paczkę, wraz z adresem e-mail.
  • MOCK - określa, czy chcemy wygenerowany plik .spec zbudować w środowisku mock. Oczywiście, że chcemy. cool

Konfiguracja pakietu

Każdy pakiet zawiera dodatkowo swoją własną konfigurację, zapisaną w pliku nazwa.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ę jest bbuild.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 $CFGDIR w skrypcie bbuild.sh .

Created by Slubek61 points . Last Modification: Piątek 15 strony Luty, 2008 23:40:58 CET by Slubek61 points .

Menu