uClibc i pakiety

Michal Moskal malekith w pld-linux.org
Wto, 13 Maj 2003, 17:09:37 CEST


On Tue, May 13, 2003 at 02:52:53PM +0200, Kosmo wrote:
> Witam. Czeka mnie stworzenie "małego" linuxa. Do tego chciałbym
> wykorzystać spece z PLD CVS i poprzerabiać je tak, by można było
> uzyskać pakiet zlinkwany z uClibc. Myślę, że coś takiego przyda się
> także do PLD (np. do instalatora, initrd etc.). Doszły by więc pakiety
> np. lvm-uclibc-(...).rpm. W związku z tym mam kilka pytań:

Prościej jest nie budować osobnych pakietów tylko normalne z --define
__cc i386-uclibc-gcc etc. Potem takich pakietów się nie instaluje w
systemie, tylko wyciąga z nich co potrzebne za pomocą rpm2cpio. Tak jest
to robione w instalatorze (zobacz skrypt scripts/BOOT -- służy do
budowania, oraz w pkg/ skrypt do robienia paczek *.tgz dla instalatora
ze skompilowanych rpmów).

Pakiety są kompilowane w minimalnym chroot, w którym *nie* ma
glibc-devel, jest natomiast uclibc-devel. Jeśli jest potrzeba
zainstalowania jakiejś biblioteki skomplikowanej z uClibc, to
najczęściej w takim minimalnym środowisku można to zrobić (ja np.
instaluje slang*rpm skompilowane z uclibc, bo nic innego nie korzysta ze
slanga w chroot służącym do budowania). Jeśli będziesz miał konflikt (np
ncurses), to rzeczywiście musisz zrobić osobny pakiet *-uclibc.*.rpm...

> 2. Bilbioteki z takich pakietów lądowały by do
> /usr/{arch}-uclibc-linux/lib - czy mogą ?

...i to jest chyba dobre miejsce na biblioteki.

> 3. Co robić z binarkami i share - wrzucać w standardowe miejsca i dać
> Conficts ? Czy też wrzucać do /usr/{arch}-uclibc-linux i ewentualnie
> symlinkować.

W ogóle nie robić, z paroma wyjątkami :-)

Konkretnie chodzi mi o lvm, który przydałby się w wersji uclibc w
normalnym systemie (celem umieszczenia na initrd), wtedy myślę, że
/usr/bin/lvm.BOOT albo coś podobnego.

-- 
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: PLD Linux ::::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h



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