Biraz geyik muhabbeti
Sürüm çıkaralı çok olmuş, yazı yazmayalı da. Aylardır yaptığımız çalışmalar sanırım bir blog yazısını hakediyor.
Mayıs ayından beri Hadron cephesinde olan en iyi şey geliştirici sayısının 1’den 3’e çıkması oldu sanırım. Gürkan Gür ve Erdem Artan artık Hadron’a aktif katkı veriyorlar. Gitorious‘daki RSS beslemesinden neler yaptıklarını görebilirsiniz.
İkisinin birden paket yapmaya ve varolanlara bakmaya başlamasıyla üzerimdeki yük gayet azaldı. Azaldı derken boşa çıktığımı düşünmeyin. Temmuz ayından itibaren çalışıyorum, kendime ve Hadron’a ayırdığım zaman da bir hayli azaldı. Herşeyi bir arada düşündüğünüz zaman ~600 kadar paketi ve paket yöneticisini tek başıma yapmış kadar yoruluyorum, neyse.
Artık paketlerle daha az ilgilendiğim için Hadron’a ayırdığım vakti lpms üzerine yoğunlaştırıyorum. Hata kayıt sitemizden de görebileceğiniz gibi üzerimde şu an 30 kadar hata var ve bunların çok büyük bir kısmı lpms ile ilgili ya hata düzeltmesi ya da özellik isteği.
Sırası gelmişken lpms’de neler yaptığımı ve neler yapmayı planladığımı anlatayım:
lpms son rootfs sürümündeki atasının aksine şu an çok daha gelişkin ve olgun. Sanırım satır sayısı iki katına kadar çıktı ve pek çok yeni özellik ekledim. Bunlar irili ufaklı şeyler, bazılarını ben bile hatırlamıyorum ama bağımlılık çözme işlerini halleden lpms modülündeki commit sayısı lpms’e yaptığım toplam commit sayısının üçte birine yakın olabilir. Hala hataları var; zira oldukça karmaşık bir iş yapıyor. Sıkıntıları devam edecektir.
Geçen hafta sonu Hadron mesaimin bir kısmını lpms’i OpenBSD‘ye port etmeye harcadım. Gerekli modifikasyonları yaptıktan sonra, sorunlar olsa da, OpenBSD üzerinde Hadron paketlerini derlemeyi/kurmayı başardım. Yani lpms, BSD ailesinden bir UNIX sistem üzerinde de çalışabilen bir paket yöneticisi şu an. Muhtemelen orta vadede sadece ben kullanabilirim ama; lpms’i Linux ve BSD sistemler üzerinde çalışabilen “evrensel” bir paket yöneticisi yapma hedefimi de açık etmiş olayım burada.
lpms paketleri kaynaktan derleyerek sisteme kuruyor biliyorsunuz. Bu bizim UNIX sistemi kullanma tarzımız ve bu konuda iyi bir paket yöneticisi çıkarmaya çalışıyoruz. Ama bazen binary paket lazım olabiliyor ve lpms şu an binary(bildiğiniz deb ya da rpm paketleri gibi) kuramıyor. Bu bir eksiklik evet ama; lpms’in konsepti paketleri kullanıcının bilgisayarı üzerinde derleyerek, hem herkesin istediği gibi bir sistem elde etmesini hem de ileri düzeyde işlemci optimizasyonlarının yapılmasını sağlamak üzerine kurulu. Gentoo ya da BSD’de ciddi deneyimi olanlar bu konuları bilirler zaten.
lpms’in gelecek sürümlerde binary paketleri kurup kaldırabilmesini ve hatta binary depoları oluşturup yönetebilmesini planlıyorum. Bu sayede hibrit bir paket yöneticisi ortaya çıkarmış olacağız. Ama Hadron hiç bir zaman binary paket deposu sağlamayacak. Bu özelliği 3. şahıslar ya da projeler kullanacak.
Bir diğer hedefim ise Debian‘daki debconf‘un bir benzerini lpms için yazmak. Bu konu henüz tasarım tahtasında bile değil. Orta vadede mümkün, muhtemelen 2012 yılı içinde çalışacağımız bir konu olacak.
Tüm bunları gerçekleştirdiğim zaman modern altyapılar kullanan BSD tarzı bir UNIX sistem yaratma konusundaki hevesimi biraz daha tatmin etmiş olacağım.
En son ve en çok arzuladığım iş ise Hadron’un altyapılarını tamamen Python 3‘e taşımak. Grafik arayüzlü araçlar gibi bizim açımızdan tamamen anlamsız hedeflerimiz olmadığı için GTK+ gibi şeylerin Python 3 tarafından desteklenmiyor olması umrumda değil ama sandboxing uygulaması olarak kullandığımız catbox C ile yazılmış bir Python 2 uygulaması olduğu için geçiş yapamıyoruz. Aslında catbox’u Python 3’e taşımak altından kalkamayacağım bir iş değil. Ama yeterince C ve bu dille Python modülü yazma tecrübem olmadığı için zorlanabilirim. Ve sonradan çıkacak hataların da faturası canımızı çok yakabilir. O yüzden girişmiyorum ama; Python 2.7.2 ile Python 3’teki tüm yenilikleri kullanarak kod yazıyorum, o da ayrı bir mesele.
Dökümantasyon işi de fena gitmiyor. Gürkan Hadron’la ilgililenmeye başladıktan sonra benim yazdıklarımı güncelleştirerek İngilizceye çevirdi. Dökümanlar HadronWiki’de duruyor. Girip okuyabilirsiniz.
Her Hadron yazısına eklediğim gibi buna da projenin sayfalarını ekleyeyim. İlgilenmek isteyen olursa hiç çekinmesin buyursun. Freenode üzerindeki #hadron kanalında ilgili birilerini bulma olasılığınız çok yüksek.