[Gelistirici] Ciddi sorunlar, sesli düşünceler

Mehmet Emre Atasever memre at pardus.org.tr
4 Oca 2011 Sal 16:12:19 EET


On Tue, 4 Jan 2011 15:01:34 +0000
Gökçen Eraslan <gokcen at pardus.org.tr> wrote:

> Selamlar,
> 
> 2011 sürümü için ciddi sorunlarımızı tartışalım, çözümler bulalım.
> 
> 0- Skype paketi sadece 32 bit dağıtıldığı için (Ubuntu için hazırlanmış 64 bit 
> de aslında 32bit), 64bit depoya, Skype'ın bağımlılığı olan 32bit 
> paketleri(alsa-lib vs) de almamız gerekiyor ve bunların 64bit olanlarıyla 
> çakışmadan, mutlu mesut yaşayabiliyor olmaları lazım. Wine için de benzer bir 
> durum var, 64bit Pardus'ta, 32bit Windows uygulamalarını wine'da 
> çalıştırabilmek için yine, wine ve bağımlılıklarının da 64bit depoya alınması 
> gerekiyor. İstersek şu anda *sadece 32bit depoya* wine ve skype'ı alabiliriz 
> ExcludeArch sağolsun, fakat bu çözüm olmaz. Workaround bile olmaz.
> 

Bunun için 64bit depolara 32bit depo eklenebilmesini ve kontrollü bir şekilde kurulmalarını sağlayabiliriz.

32bit bir uygulamayı 64bit bir sisteme kurduğumuzda, eğer kurulmak istenen 32bit paket sistemde yoksa paketin tamamını (80386 ELF section una sahip binaryler, man lar, config ler vs. de dahil olmak üzere). Kurarken, /lib altına gidecek kitaplıklar /lib32 dizinine, /usr/lib dizinine gidecek kitaplıklar da /usr/lib32 dizinine kopyalanır.

Eğer bir paketin 64bit versiyonu sistemde kurulu ve bir uygulama bu paketin 32bit paketine ihtiyaç duyuyorsa (örneğin skype'ın kullandığı alsa-lib kitaplığı), 32 bit paketin *sadece 32bit kitaplıklarını* /lib32-/usr/lib32 altına kurarız.

Örneğin skype paketi için, 64 bit depomuzda skype paketimiz olmadığından 32bit skype paketinin bütün içeriği 64bit sisteme kurulur, runtime bağımlılıklarının da sadece kitaplıklarını /lib32-/usr/lib32 altına kurarız;

$ pisi info alsa-lib -F | grep lib
/usr/lib/alsa-lib/smixer/smixer-ac97.so -> /usr/lib32
/usr/lib/alsa-lib/smixer/smixer-hda.so -> /usr/lib32
/usr/lib/alsa-lib/smixer/smixer-python.so -> /usr/lib32
/usr/lib/alsa-lib/smixer/smixer-sbase.so -> /usr/lib32
/usr/lib/libasound.so -> /usr/lib32
/usr/lib/libasound.so.2 -> /usr/lib32
/usr/lib/libasound.so.2.0.0 -> /usr/lib32
...

Bu yaklaşımdaki sorun, 32bit sistemin bütün system.base'ini 64bit sisteme kurmamız gerekecek veya depodaki bütün paketlere system.devel ve system.base componentindeki bağımlılıkları da yazarız.

-- 
@memre.
__EOM



Gelistirici mesaj listesiyle ilgili daha fazla bilgi