Rozdział 5. Wymagania użytkownika

Spis treści

Opis
Wspomaganie użytkownika
Ograniczenia

Opis

Podstawą systemu kontroli dostępu jest użytkownik. Na podstawie typu użytkownika - użytkownik zwykły, zarejestrowany, developer, administrator - możliwe jest określenie do jakich elementów systemu ma dostęp.

Pakiet jest najmniejszą częścią dystrybucji. Pakiet zawiera pliki oraz powiązany z nimi opis. Opis pakietu jest modyfikowany przez developerów dystrybucji.

Za opis pakietu służy tzw. spec. Zawiera on podstawowe informacje o funkcji pakietu, pochodzeniu, lokalizacji źródeł w internecie, ale także informacje o zależnościach między pakietami (tzn. jakie pakiety muszą być zainstalowane, aby dany pakiet mógł działać, jakie nie mogą być zainstalowane, w jakich wersjach) oraz instrukcje o sposobie kompilacji pakietu.

Plik jest elementem pakietu. Zazwyczaj jest to archiwum typu tarball (pliki połączone programem tar i skompresowane algorytmem gzip), lecz może to być także plik startowy dla programu, domyślny plik konfiguracyjny, ikona itp. Plik jest identyfikowany przez nazwę oraz sumę kontrolną wyliczoną według algorytmu MD5. Plik, w celach identyfikacyjnych, może zostać opatrzony komentarzem określającycm jego przeznaczenie (archiwum programu, łatka, skrypt startowy itp.)

Pakiety, po przygotowywane, są dodawane od kolejki buildera. Builder jest to serwer, który jest odpowiedzialny za kompilację pakietów w odpowiednim środowisku. Oprogramowanie buildera (osobne od opisywanego systemu) pobiera pakiet z początu koleki i wykonuję proces kompilacji zapisany w opisie pakietu. Dla każdej architektury istnieje osobna kolejka buildera.

Pakiety są budowane na maszynach kompilujących, czasem nazywanych builderami. Maszyny te zajmują się kompilacją pakietów.

Każda próba kompilacji pakietu jest notowana, niezależnie od powodzenia. Zapisywany jest log kompilacji. Jest to tekstowa informacja zawierająca komunikaty zwracane w trakcie procesu kompilacji.

Kluczową rolę w procesie notowania błędów odgrywają tickety. Są to identyfikatory zgłoszenia, zawierające informację o tym, którego pakietu i w której wersji dotyczy zgłoszenie, kto zgłosił, oraz ewentualnie który developer zajmuje się poprawieniem danego błędu.

Wspomaganie użytkownika

Baza danych pakietów, zgromadzona w systemie, może być przeglądana przez użytkowników dystrybucji, co skróci czas wyszukiwania odpowiednich informacji.

Zarejestrowani użytkownicy dystrybucji mogą skorzystać z modułu BTS. Pozwala on na zgłaszanie odkrytych błędów i sugerowanie zmian.

System ma wspomagać developerów w ich pracy. Poprzez system powinny być wprowadzane poprawki do pakietów, co pozwoli na śledzenie zmian. System ma tez przechowywać informacje o plikach powiązanych z pakietami.

Dzięki systemowi developer ma mieć możliwość wstawienia pakietu do kolejki do zbudowania dla konkretnej architektury bądź dla wszystkich możliwych. System powinien automatycznie zbudować wszystkie pakiety, które zależą od danego pakietu.

Administrator ma mieć możliwość dowolnego przestawiania pakietów oczekujących w kolejce na zbudowanie, a zwłaszcza wstawienie pakietu bezwarunkowo na początek kolejki. Powinien mieć także możliwość usuwania pakietów z kolejki jeśli zajdzie taka potrzeba (na przykład pakiet został wstawiony do kolejki przez przypadek).

Developerzy mają mieć wgląd w informację o wyniku ostatniej próby budowania pakietu. Pozwoli to na wprowadzenie odpowiednich zmian w pakiecie.

Ograniczenia

  • system musi miec możliwość pracy w środowisku X Window System

  • do przechowywania danych systemu ma zostać użyty serwer relacyjnych baz danych PostgreSQL

  • system powinien być zaimplementowany w sposób niezależny od platformy sprzętowej