jaka nazwa w pkgssel

Jarek Woloszyn yossa w dione.ids.pl
Śro, 19 Maj 1999, 19:27:16 CEST


On Wed, 19 May 1999, Paweł Gajda wrote:

> > A co potem z aktualizacja? Bedzie kolejna dystrybucja i trzeba bedzie
> > tworzyc kolejna wersje pliku z grupami?
> 
> Ale po co w definicjach grup chcesz mieć wersję? Potrzebna jest
> jedynie nazwa. Wybieraczka dostanie nr wersji z nagłówka pakietu 
> i sama się zorientuje, że ma kilka takich samych pakietów.    

No wlasnie dlatego pisalem to nizej. Masz racje, ze rownie dobrze ten
skrypt moze zalatwiac wybieraczka.

> > Wlasnie wpadlem, ze mozna zrobic skrypt, ktory z pliku wzorca wezmie nazwy
> > i uzupelni je o wersje. A jezeli bedzie mial dostepne dwie wersje pakietu,
> > to obie dolaczy. Takze ok. Napisze to z wersjami
> 
> Na dobrą sprawę to należałoby wziąć jeszcze pod uwagę wersję
> pakietu. Chyba najlepiej nie kombinować i brać tę największą, 
> a resztę odrzucać.

Tylko, ze moga byc tez problemy z zaleznosciami :) Ale na moj prosty rozum
pakiety w kilku wersjach beda raczej te ostateczne, tzn. ktore raczej nie
beda nic providowaly (ach ten polski jezyk :)

> Na pierwsz rzut oka, to coś za bardzo kombinujesz ;-) Widzę to tak, że
> wybieraczka: 
> - bierze listę dostępnych pakietów 
> - wyświetla ją w postaci: %{name} %{version} 
> - nie dopuszcza do umieszczenia na liście ,,instalacyjnej'' 2
>   jednakowych nazw.

tak, tak wlasnie mniej wiecej myslalem. 

> Grupy to rzecz wtórna, np. jeżeli apache będzie w grupie WWW, to
> wystarczy wziąć wszystkich apaczów i ich tam pokazać.       

aha. 

> W zależności od sposobu realizacji zaznaczeń w rpmenie(nie do końca
> wiem, jak to jest zrobione): 
> - lista ,,instalacyjna'' będzie musiała zawierać nr wersji
> - jeżeli zaznaczamy pakiet przez wskazanie *rekordu*(np. przez indeks
>   lub wskaźnik), to nr wersji nie będzie potrzebny.   

Nie za bardzo lapie o co ci chodzi w tym drugim myslniku. Z tego co zrobil
Pawel w 0.1 pkgsela wywnioskowalem, ze bedziemy mieli liste pakietow (ta
cala struktura PkgSet) i tam jest pole selected, ktore przyjmie
odpowiednia wartosc, po przepuszczeniu listy przez wybieraczke. Sam rpmmen
sie martwi dalej o zaleznosci.
Tzn. po wybieraczce dodaje odpowiednie pakiety z dep. (pokazuje je). Potem
user musi miec mozliwosc znowu powybierac co mu jest potrzebne. Dlatego 
wybieraczka dziala przezroczyscie dla rpmmena.

> > I gdzies trzeba trzymac ta wersje pakietu. Najwygodniej byloby
> > zmodyfikowac TPkgInfo i w getPackagesList od razu pobierac wersje z
> > naglowka. Po co niepotrzebnie wplatywac rpmlib'a tam gdzie to nie jest
> > potrzebne.
> 
> Jeżeli dobrze się domyślam(niechęć do wołania headerGetEntry()) to: 
> 
> Nagłówek jest już w strukturze, także, jeżeli zaznaczanie pakietu
> odbywa się poprzez wskazanie rekordu, to IMHO lepiej opakować funkcję
> headerGetEntry() w coś takiego: rpmpkg_header_entry_get(pkg*, entry).
> Zaoszczędzimy te parę kB(co prawda, przy paru MB wymaganych przez 
> rpmlib, ale zawsze :-).  

Cos takiego by bylo bardzo przydatne. Wtedy nie trzeba by bylo ciagle
trzymac tej wersji w pamieci, tylko do pokazywania na ekran wolaloby sie
to rpmpkg_header_entry_get i po sprawie.

> Tak na marginesie, to trzymanie nagłówków tych >500 pakietów będzie b.
> pamięciożerne. Niestety nie ma sposobu obejścia tego, rpmlib wymaga
> podania listy nagłówków przy wynajdowaniu zależności(lista siedzi w
> pamięci). Może jest ktoś chętny do poprawienia rpmliba? :-)

W sumie to najwiecej zajmuja opisy. Nie wiem jak jest robiony tocfile i
czy naglowki maja stalo dlugosc. Jesli nie, to na poczatku tocfile trzeba
by zrobic jakis index z opisem w ktorym miejscu sa kolejno (wg. numerow)
pakiety. Potem do pamieci ladowac tylko to co potrzebne (bez opisow).
Opisy pokazywane sa tylko w wybieraczce, wiec moglaby byc funkcja, ktora
otwiera toca, skacze w odpowiednie miejsce (zaleznie od numeru pakietu) i
zwraca opis. Nie wiem jak dokladnie dziala rpmlib, wiec to tylko suche
pomysly.


-- 
 .-+> yossa w pld.org.pl ---------------,----+> http://dione.ids.pl/~yossa --+,
|`+-- Living life to the full <+.  .-|--+> C Programmer ---+> Linux User ---.|
 `'+- Jarek Woloszyn ----------+'-'   `'+- PGP && Monopoly (ppp counter) <+-'
                           that's all folks ESC :qw



Więcej informacji o liście dyskusyjnej pld-installer