[Gelistirici] kernel ve kernel-headers

S.Çağlar Onur caglar at pardus.org.tr
21 Ağu 2008 Per 18:19:37 EEST


Selamlar;

20 Ağu 2008 Çar tarihinde, Fatih Aşıcı şunları yazmıştı: 
> $SUBJECT'teki paketler system.base bileşeninde olmak zorunda mı? Eğer öyleyse 
> nedeni neydi? Liste arşivlerinde bulamadım.

En temel nedeni system.base'in minimum "açılabilir ve çalışabilir sistem" tanımını sağlamak. Bir sonraki e-postandan bunu sorma nedeninin farklı olduğunu algılıyorum o yüzden şöyle devam edeyim;

system.base kendi içinde bir bütün, hatta kaba tabir ile tek bir paket. Bu yüzden o bütünün parçalarının her zaman birbirleri ile uyumlu çalıştıklarını garanti etmemiz gerekiyor, aksi halde yeni udev eski kernel ile çalışmaz, util-linux ile gelen hede özelliği illa yeni udev ister ama e2fsprogs artık zart kullanır gibi durumlar ile başa çıkmamız mümkün olmuyor. Bu ve benzeri onlarca daha önce başımıza gelmiş sebepten dolayı kernel paketi system.base bileşenin bir parçası. 

drivers/ ise içinde kernel modüllerini barındırması dışında hiçbir özelliği olmayan bir bileşen, applications.doc ile hiçbir farkı yok örneğin. alsa-drivers yoksa makinandan ses çıkmaz, tetex paketi yoksa döküman yazamazsın kadar benzerler birbirlerine. Ama bunların hiçbirinin eksikliği açılamaz (açılmaktan kastım X değil, minimum çalışan sistem (kernel + gerçek konsollar ve destekleyenleri) bir sistem ile bırakmıyor bizi ama kernel bu durumda bırakıyor.

Çözmeye çalıştığın sorunun nvidia/ati gibi sürücülerin kernel versiyonlarına bağımlılığı ve bunların system.base güncellenirken güncellenmemesi olduğunu varsayarak bunu çözmenin doğru yolunu kernel'ı alıp system.base'den atmak veya bir kernel bileşeni tanımlayıp bunu Pisi'de system.base'e benzer ama belki farklı şekilde denetlemeye çalışmak değil, pisi'ye yaklaşık 2 senedir konuşmaktan sıkılmadığımız ama benim yazmaktan artık son derece sıkıldığım _ters bağımlılıkları da güncelle, ABI kırdım_ veya benzeri bir tag'in eklenmesi ve bunun son derece kontrollü şekilde kullanılması (aksi halde bir bağımlılık ağacının ortasında yer alan A paketi için 200 paket güncellemek duruumdan kalabiliriz) olduğunu düşünüyorum.

Farklı kernel paketlerinin farklı paketler ile desteklenmesi hikayesi için ise yaklaşık 3 senedir konuşmaktan sıkılmadığımız ama benim yazmaktan artık son derece sıkıldığım _virtual paket/bağımlılık_ konseptinin hayata geçmesi gerekiyor ki, PAE'li, xen'li, -rt'li kernel ve sürücüleri serisi ile yaşayabilelim. Bu çekirdekler kendilerini mesela kernel'ın işini ben de yaparım diye sisteme tanıtabilsinler v.s.

kernel-headers ise farklı bir hikaye, içerik olarak system.base bileşenine uymuyor olmasına rağmen (kim napsın header dosyalarını) bu minimum sistemi aslında dağıtım bootstrap etmek için kullandığımız ve paketin hallice ufak olması sebebi ile system.base'e almıştım.

Saygılar
-- 
S.Çağlar Onur <caglar at pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20080821/21a67b6c/attachment-0002.pgp>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi