Zepsułem RPMa....

Jakub Bogusz qboosh w pld-linux.org
Nie, 4 Sty 2004, 02:46:27 CET


On Sun, Jan 04, 2004 at 12:35:29AM +0100, Jacek Konieczny wrote:
> ...przyznaję się bez bicia.
> 
> Włączyłem wewnętrzny generator zależności. Bez niego w ogóle nie było
> kolorowania plików, które jest potrzebne żeby sensownie instalować
> 32-bitowe pakiety na np. AMD64.

> Zależności wygenerowane przez wewnętrzny generator
> będą zawsze bardziej zgodne z tym co jest w innych dystrybucjach niż
> zależności wygenerowane przez skrypty używane tylko w PLD.

Że co? Zależności w 4.3.* są generowane przez ten sam generator
(wywoływany z zewnątrz przez rpmdeps).
Oprócz perlowych i pearowych, ale przełączenie na wewnętrzny generator
tego niczego nie zmienia.

> Jednak zmiana ta wyłącza część rzeczy:
> 
> - generowanie zależności od pakietów (np. ncurses) gdy znaleziona jest
>   zależność od pliku/biblioteki (np. libncurses.so.5.3).
>   IMHO to i tak nie było potrzebne (poldek jest od tego), a sprawiało
>   problemy (chociażby z libGL).

Tylko po co poldka uruchamiać, skoro do tej pory te zależności załatwiał
automat?
Akurat libGL zostało rozwiązane globalnie w 4.3.*.

> - makra _noauto* nie działają
> 
>   były one chyba tylko używane do 3 rzeczy:
> 
>   - wywalania zależności od libGL.* - ten problem odpada - patrz wyżej
> 
>   - wywalania zależności od specjalnych bibliotek z tym samym soname
>     co "normalne" (np. libpthread z valgrind) - tu wystarczy zdjąć -x
>     z bibliotek które nie mają być uwzględnione w zależnościach
> 
>   - dla uniknięcia nieprawidłowych zależności perlowych. To jest
>     potrzebne, ale w tym przypadku można obsługę _noauto*
>     zaimplementować w skryptach perl.{prov,req}

perlowych, pearowych, interpreterów opcjonalnych skryptów, zależności
od bzdurnych bibliotek (jak w java-*), czegokolwiek.

> To chyba tyle istotnych zmian. Prosiłbym wszystkich o zastanowienie się
> co jeszcze mogło z tego wyniknąć, jeśli coś złego, to co się da z tym
> zrobić. No i o potestowanie czy to działa.

Myślałem raczej o wstawieniu przepuszczania wygenerowanych zależności
przez zewnętrzny (albo częściowo wewnętrzny, częściowo zewnętrzny -
niektóre rzeczy łatwiej załatwić skryptem niż w C) filtr między ich
generowaniem a zapisaniem do pakietu.
I tu można by od razu zależności kompresować (np. "R: p", "R: p >= n",
"R: p >= m" dla m>n daje się skrócić do "R: p >= m" - może poldek trochę
rzadziej by się gubił w zależnościach - w przypadku dostępnych kilku
źródeł to przestało być narzędzie działające nieinteraktywnie[1])

> Uwaga: RPM z HEAD w tej chwili NIE NADAJE się do normalnego użytku na
> builderach (zależności perlowe)!!!

Hm, ciekawe kto pierwszy zapomni i go puści do Ac? ;)
(i tak ta wersja co jest już jest zepsuta :/ rpm -V nie nadaje się do
użytku)


[1] tak przy okazji - coraz bardziej jestem przekonany o potrzebie
globalnej zamiany "= [%{epoch}:]%{version}" na
"[%{epoch}:]%{version}-%{release}".
Kolejny argument: przy dostępnych wielu źródłach z pakietami różniącymi
się tylko release (norma w Ra) robi się straszny bałagan; z
choose_equivalents_manually przy instalacji większej liczby pakietów
dostaję taki quiz, że mam dosyć, a bez - często instalacja się wywala.


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



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