PLD 1.0 beta 1: nowe iso na ftp
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Pią, 2 Sie 2002, 18:22:07 CEST
On Thu, 1 Aug 2002, Andrzej Krzysztofowicz wrote:
> >
> > > W sumie racja że sprawa jest nieco kontrowersyjna i mało jednoznaczna.
> >
> > Tym niemniej, nalezaloby wypracowac jakis konsensus, zeby nie grac w
> > ping-ponga...
>
> OK, kloczek jest "a bit busy", wiec moze ja zreferuje na czym stanelo
> odnosnie polityki w tej kwestii (beda pewne zmiany), i co nalezaloby
> potraktowac jakio punkt wyjsciowy do dyskusji:
>
> 1. Srodowisko budowania powinno w sposob jednoznaczny definiowac pakiet
> [tu moze byc problem obecnosci/nieobecnosci pakietow, ktore w jakis
> sposob wpadaja do Requires - rozwiazywanie nazw - ale patrz nizej]
Nieco inaczje to sformułuję:
- lista BuildRequires powinna jednoznacznie określać istotne własności
build środowiska
- powinna być pozbawiona elementów redundantnych. Przykłady: jeżeli już
jest np. libglade-devel czy gnome-libs-devel to już nie ma po co
umieszczać gtk+-devel; jeżeli juz jest SDL_mixer-devel to nie ma po co
umieszczać SDL-devel. Żeby to diząłało niewątpliwie trzeba dbać o listy
nazw pakeitów jakie wpadają w Requires w pakeitach devel
- lista BR powinan być możliwie krótka.
> 2. Docelowo, aby zmniejszyc rozmiar bazy chcemy wyeliminowac rozwiazywanie
> m.in. perl(...) -> nazwa-pakietu w stosunku do automatycznych i recznych
> Requires.
Tutaj chodzi o coś podobnego ale jednocześnie innego. Otóż mamy obecnie
ponad 4.5K pakietów wynikowych, a będzie ich wiecej. Spora ilość powiązań
w Requires jest nadmaitrowa. możnaby bardzo mocno pzreżedzić graf
zależności i nadal lista zależności w poszczegółnych pakeitach
jednoznacznie definiowałaby topologię takiego grafu.
Nadmiarowość regół wiażących pakiety jest sporai i zapewne moznaby ją
efektywnie skrócić i nic by się nie stało. Przykład tego co
możnaby ciąć:
$ rpm -q --requires gnome-libs
/sbin/ldconfig
/sbin/ldconfig
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
/bin/sh
libICE.so.6
libIIOP.so.0
libORBit.so.0
libORBitCosNaming.so.0
libORBitutil.so.0
libSM.so.6
libX11.so.6
libXext.so.6
libXi.so.6
libXpm.so.4
libaudiofile.so.0
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.2)
libdb-3.1.so
libdl.so.2
libesd.so.0
libgdk-1.2.so.0
libgdk_imlib.so.1
libglib-1.2.so.0
libgmodule-1.2.so.0
libgtk-1.2.so.0
libjpeg.so.62
libm.so.6
libm.so.6(GLIBC_2.0)
libpng.so.2
libutil.so.1
libutil.so.1(GLIBC_2.0)
libwrap.so.0
libz.so.1
ORBit
XFree86-libs
audiofile
db3
esound
glib
glibc
gtk+
imlib
libjpeg
libpng
libwrap
zlib
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsBzip2) <= 3.0.5-1
$ rpm -q --requires gnome-libs | wc -l
51
Ptóż z powyższego mogłyby wypść: libutil.so.1, libm.so.6,
libc.so.6(GLIBC_2.1.3), libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.0)
libc.so.6. czyli sześć elementów. Kolejne 13 to nzawy pakietów. W sumie
zbliza się to do 40% listy.
Żeby wyciąć pierwsze elemementy które są zderetminowane pzrez
pozostałe (np. libm.so.6(GLIBC_2.0) determininuje już
libm.so.6) trzebaby tylko zmodyfikować skrypty do find_requires.
Jeszcze większe rezerwy tkwia w linker linterze któtóry wicinałby z
nagółków elf binarek te biblioteki które są używane pośrednio. To niemniej
jest pieśń przyszłości.
Po co to ?
Ano po to że skracajać listę powiazań miedzuy pakietami bebez utraty jej
jednioznacznosci zyskujemy na pedkosci obsługi bazy pakietów. Mówiąc
inaczej pedkość jej obsługi nie dbędzie dalej wzrastała w raz z
zwiekszaniem sie średniej ilości pakeitów zainstalowanych w danym
systemie i/lub w systemach w których ilosć ta nie bedzie rosła operacje na
bazie pakeitów ulegna przyśpieszeniu.
> 3. Sprawa rozwiazywania lub nie(!) nazw pakietow w ramach BR pozostaje
> otwarta
> [pamietam ze sie kloczek ostatnio czepial braku nazw, wiec wyglada to
> na zmiane stanowiska]
Ano .. to jest sprawa otwarta i wymaga poprostu przenalizowania jeszcze.
Wymaga to przjrzeni się jeszcze raz czemu ma to słuzyć i czy spełnia
założenia jakich spełnienie jest tu potrzebne .. wystarczajaco dobrze.
> 4. Zmniejszenie liczby wpisow w BR powoduje szybsze budowanie pakietu przy
> duzej bazie
> [do mnie ten argument nie trafia - uwazam to za (obecnie) nieistotne]
Drobne nieporozumienie/niezrozumienie chyba. Wpływ raczje bedzie cięzko
zaobserwować :)
Newer majnd .. :)
> 5. [argument Radka, z ktorym sie zgadzam, a ktory kloczek uwaza za nieistotny]
> Zmniejszenie ilosci *pakietow* wymaganych w BR uprosci proces budowania
> - mozna hurtem przebudowywac pakiety wzajemnie od siebie zalezne.
Tu zdanie zmieniłem w trakcie naszej rozmowy :)
To co podsumowałeś z tego co twierdzi Radek jest zawarte w tym co
napisałęm na pocżątku tego komentarza. Jęzlei lista będzie juz
jednoznaczna to jej wydłuzanie nie będzie potzrebne .. bo juz bedzie
optymalnie opisywać build odowisku. Tu jak na razie widże że wszyscy
trzebj myślimy podobnie :)
Jedyna niezręcznsć jak narazie dla mnei to formułowanei ogólnych wymogów.
Z jednej strerony powinny dużo rególować. Z drgiej steony w sporej ilości
pakietów w tym perlowych możnabyt dopuszczć wyjątki (jednak) od tychże
regół. Nie powinno tutaj dochodzić do łamania wymogów o ile regóły jednak
bendą sformułowane ogólnie. Myślę że stosowanie się do trzech punktów
jakei napisałem na początku tego listu formułująć jeszcze raz/nieco
inaczej to o czym rozmawialiśmy telefnicznie powinno być do przyjęcia :)
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*
Więcej informacji o liście dyskusyjnej pld-devel-pl