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