[Gelistirici] 2009 ve paketler

Onur Küçük onur at pardus.org.tr
27 Oca 2009 Sal 14:26:08 EET


 Merhaba,

 2008 ailesi artık iyice yavaşlamaya başlıyor ve artık 2009 odaklı çalışmanın 
zamanı geldi (geçiyor). Bir dağıtımın olmazsa olmaz bileşeni paketleri de 2009 
a yönelik geliştirmeye başlamamız gerekiyor. 

 2009 için temel derleme sisteminde ciddi bir fark oluşmayacak. gcc 4.3.3 e 
doğru gidecek, glibc 2.9 a, binutils 2.19 a yükseltip macera peşinde koşmamak 
niyetindeyim. Şu anki derleme sistemi ile ciddi bir fark olmayacak, ağırlıklı 
olarak hata düzeltmeleri içerecek, yani paketleri yeni sürüm paketlerin 
gelmesini beklemeden elden geçirebiliriz. Temel sistem araçları ile 
(system.{base,devel}) bir süredir uğraşıyorum, yakında derli toplu bir şekilde 
komit edeceğim. 2008 ile uyumlu paketleri [1] adresine koyuyorum ama bu 
araçlar birbirleri ile derlendiğinde "tek tek paket seçip kurmak" mümkün 
olmayabilir.

 Paketlerde genel olarak dikkat etmemiz gereken şeylerin yanında 2009 yolunda 
da bu listede konuşup yapmaya karar verdiğimiz bir kaç değişiklik var. Genel 
olarak paketlerini güncellemek, bu değişiklikleri yapmak vs. için bir liste 
çıkardım. Paket sorumlularının artık devel de 2009 için çalışmaya başlayıp bu 
değişiklikleri yapmasını bekliyorum. Arada atladığım, eklenecek vs. birşeyler 
varsa ekleyiniz, konuşalım.

 Söz meclisten dışarı, 2008 çıkarken olduğu gibi paket peşinde koşmak 
istemiyorum.

 Dikkat edilecek noktalar,

 * Tüm paketlerin Sandbox açık bir ortamda derlenebilmesini umuyorum. 2009 da 
öntanımlı olarak sandbox açık çalışabilmemiz gerekiyor. Sisteminizde sandbox 
kapalı ise /etc/pisi/pisi.conf da build başlığı altına "enablesandbox = True" 
eklemeniz yeterli

 * LDFLAG lara "--as-needed" geliyor. Sisteminizde kullanabilmeniz için yine 
/etc/pisi/pisi.conf a bu flag ı ekleyip deneyebilirsiniz

 * kernel modüllerinde direkt olarak uname kullanılmaması gerekiyor, uname 
kullanan yerleri bir şekilde get.curKERNEL() kullanacak şekle getirmek 
gerekiyor

 * Kullandığınız paketin system CC/CXX ini kullandığına emin olun. Pisi de bu 
ENV ye export edilecek ancak yine de ENV den kullanmayan paketler varsa elle 
düzeltmek gerekebiliyor. Pisi de düzeltildiğinde tüm paketlerden 
shelltools.export(....  kısmını kaldırmamız lazım

 * Paketin özel bir ihtiyacı yoksa sistem C(XX)FLAG, LDFLAG larını kullanması 
gerekiyor

 * Optimizasyon yapan paketlerde aynı anda birden fazla mimari desteği yoksa 
SSE2 ve üstü mimariler için desteği kapatıyoruz, sadece sse ye kadar izin var, 
bu sayede pentium3 ler ve bir seri amd de çalışmaya devam edebiliyoruz

 * Paket data dosyaları taşıyorsa dosya yetkilerinin elden geçmesi 
gerekebiliyor, genelde sadece okunan data dosyaları 0644 dizinler 0755 ile 
sisteme konmalı

 * Ne kadar az package.py işi olursa o kadar iyi, post sırasında bir komutun 
çalıştırılması, eskiden kalan bir pisliğin silinmesi, chown gibi işlemleri 
package.py ile yapıyoruz, onun dışında (chmod dahil) yapabildiğimiz kadar işi 
actions.py de yapıyoruz

 * servis betiklerinin doğru çalıştığından emin olmak gerekiyor, hala arada 
saçma şeyler yapan betikler kalmış olabilir

 * Pek çok pakette zamanında "CD ye de girsin, unutmayalım" şeklinde anlamsız 
bağımlılıklar yazdık (tasma nın manager lara bağımlı olması ya da bir seri 
paketin xorg-server a bağımlı olması mesela). Bu bağımlılıkları elimizden 
geldiğince temizlememiz lazım

 * Paketleri en güncel hallerine çekip onun üzerinde çalışmamızda fayda var, 
bir süre sonra (tabi ki hemen şimdi değil, kısmen beta da, katı hali RC de) 
2009 da API/ABI donduracak

* doc dizinlerinin isimlerinden bizim pisi için kullandığımız sürüm numalarını 
atıyoruz, böylece docdir = /usr/share/doc + get.srcTAG() kalkıyor, dizinler 
direkt paket adını alıyor

* translations.xml dosyaları bazı paketlerde yok, bu dosyaların eksik 
olanlarda eklenmesi ve elden geçmesi gerekiyor

* Özellikle multimedia paketlerinde bir hatırlatma, arts ı (umarım acayip bir 
şey olmazsa) 2009 a almıyoruz, paketlerinizden kapatabilirsiniz. Zaten 
pulseaudio varken arts iyice anlamsızlaştı.

* Pisi actions.api artık sorun oluştuğunda hata veriyor. Dodoc la olmayan bir 
dosyayı işaretlemek bile artık bir hata, lütfen paketlerde bunlara dikkat 
edelim.

* actions.py lerde copyright tarihi yazıyorsa güncellemeyi unutmayın

* Depoda hala yüzlerce sahipsiz paket var, ne kadar çok paketi üstlenen olursa 
o kadar iyi, yoksa yine bu paketler bir iki kişinin omuzlarına binecek.


[1] http://cekirdek.pardus.org.tr/~onur/testing/

 kolaylıklar,
-- 
 Onur Küçük                                      Knowledge speaks,
 <onur.--.-.pardus.org.tr>                       but wisdom listens




Gelistirici mesaj listesiyle ilgili daha fazla bilgi