[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