nowe generatory zależności do rpm-a

Jakub Bogusz qboosh w pld.org.pl
Pon, 23 Cze 2003, 23:35:51 CEST


Zaraz wrzucę do repo. Na razie do testowania - nie włączone domyślnie.
Aby ich użyć, trzeba zdefiniować:

%_use_internal_dependency_generator     0
%__find_provides        /usr/lib/rpm/find-provides-wrapper
%__find_requires        /usr/lib/rpm/find-requires-wrapper

Zapraszam do testów i szukania wszelkich niedoskonałości.

Są to wrappery na /usr/bin/rpmdeps, dodające z powrotem obsługę _noauto*
(teraz także globalnych - definiowanych przez pliki /etc/rpm/noauto*[1])
oraz możliwość generowania zależności od nazw pakietów.

Co do tego ostatniego - czy to będzie używane na oficjalnych builderach,
trzeba będzie zadecydować wspólnie (osobiście jestem za), niezależnie od
tego chcę mieć możliwość używania tego *u siebie* (pomaga
w wychwytywaniu "nielegalnych" (niechcianych lub bez BR) zależności).
Na razie bez grzebania w skrypcie można je wyłączyć przez:
echo .* >> /etc/rpm/noautoreqdep
Jeżeli to ma wejść na oficjalne buildery, to można pomyśleć
o dodatkowych stałych listach noauto* w /usr/lib/rpm/noauto* - żeby na
builderach nie trzeba było pilnować podmiany /etc/rpm/noauto*{.rpmnew,}
w razie czego.


[1] regexpy oddzielone spacjami lub \n, całość jest łączona przez \|,
więc nie trzeba pisać jednej długiej linii (jest czytelniej),
linie zaczynające się od '#' są traktowane jako komentarze


PS. przy okazji zauważyłem, że trzeba unikać obróbki długich zmiennych
w shellu - jest to BARDZO wolne. Po zastąpieniu tego co było wcześniej
dla provides na jeden długi potok całość zaczęła działać z 10 razy
szybciej (na zawartości /lib, dla dłuższej listy różnica mogłaby być
większa).
W requires nie udało się zmieścić w jednym pliku, ale pliki tymczasowe
wyglądają na bardziej opłacalne niż zmienne, poza tym zachowują dobrze
spacje i \n, więc nie powinno być problemów ze spacjami w nazwach
plików.

-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl