blog.garaż.net

06 październik 2006

Emerg i wymagane flagi zależnych...

Gentoo uwielbiam głównie za emerge i związaną z nim prostotę zarządzania całym oprogramowaniem oraz wszystkimi plikami jakie dodatkowo są wykorzystanywane przez te aplikacje.

Mimi wszystko trzeba jednak większość rzeczy samemu skompilować i dobrze móc czasami zostawić komputer i pójść spać, na spacer czy uczelnię, nie martwiąc się o przebieg kompilacji i czy proces ten przerwie się z powodu błędu przed wykonaniem powierzonego mu zadania czy też wszystko zakończy się sukcesem.

Właśnie jednym z takich błędów \ braków funkcjonalności, pozbawiających nas cennego czasu jest brak kontroli nad wymaganymi flagami w pakietach zależnych. Może żeby było jaśniej przytoczę szybki przykład, który zachęcił mnie do nagryzdania tych kilku zdań. ;)

Załóżmy, że chcemy zainstalować program Gaim oraz BMPx, dodatkowo ubzdurałem sobię, że fajnie byłoby móc ustawiać w opisie czego akurat słucham. Oczywiście jako zwykły użytkownik, nie mający nigdy wcześniej styczności i nie przewidujący żadnych problemów, uruchamiam kompilację i wychodzę na kilka godzin. Po powrocie sprawdzam postępy, a na ekranie widzę błąd, który spowodował, że komputer nic przez te kilka godzin praktycznie nie zrobił, a my musimy zmarnować kilka następnych aby poprawić kilka rzeczy i ruszyć to dalej. Oczywiście błędem w tym przypadku było brak wsparcia dla dbus w programie Gaim, który jest wymagany aby BMPx mógł ustawić ten nieszczęsny status - jedna mała flaga, którą można byłoby sprawdzić przed kompilacją, w gruncie rzeczy przecież to kilka minut w stosunku do kilku bezowocnych godzin. Czemu jednak miałby się tym zajmować użytkownik, może lepiej byłoby zwalić tę robotę na zestaw skryptów?

Prawdopodobnie kiedyś ten mechanizm zapewniało automatyczne włączanie flag przez ebuilidy, jednak to się nie sprawdziło tak jak należy i w ostatnich wersjach po prostu znikło. Być może dobrze byłoby zgłosić nową funkcjonalność, z pewnością zaoszczędziłoby to trochę czasu, narzut czasowy nie powinien być jakiś koszmarnie duży, w gruncie rzeczy i tak trzeba sprawdzać masę plików w zależnościach, a sprawdzenie np. wymaganych flag po drodzę powinno w gruncie rzeczy tylko tego czasu zaoszczędzić w przyszłości osobom, które lubią zostawiać aktualizację i instalację nowego oprogramowania na noc. Chyba będzie trzeba zgłosić taką funkcjonalność projektantom i programistom skryptów obsługi Portage. :)

Comments !