[Gelistirici] pisi dosya işleri

Gürer Özen gurer at pardus.org.tr
14 Haz 2006 Çar 09:13:43 EEST


Bu info dosya işleri konusunda düşünürken aklıma bir çözüm geldi. Bu işleri 
pisi içinde yaparak hem pisiye çok fazla özel durum sokuyoruz hem de mesela 
apache modülleri gibi system.base dışında kalan durumları halledemiyoruz.

Temelde bir yapılandırma işi olduğuna göre tüm bu işleri bir çomar sınıfında 
toplayabiliriz.

System.ModuleHandler     (bu isim iğrenç tabi, daha anlamlı bişi lazım)

gibi bir sınıf olur, her paket kurulduğunda postInstall'dan önce bu sınıftaki 
betiklerin packageInstalled metodu parametre olarak kurulan paketin files.xml 
i ile çağrılır. Tabi kaldırırken de aynı şekilde bir metot çağrılacak.

Mesela texinfo buraya kendi betiğini koyar ve o betik files.xml içinde tipi 
info olan dosyalar için install-info ya da ne yapacaksa yapar.

Python site-packages içindeki .py dosyalarını compile eder.

Kernel betiği /lib/modules altına bişi kurulduğunda modules-update çağırır.

Bu yöntemin faydaları şunlar:
* Bu özel modül/dosya işlemleri işlemin ait olduğu pakette duracak, 
güncellenmeleri daha kolay olacak, işlem değiştiğinde bir paketteki betiği 
değiştirmek yetecek
* Jenerik işlemler her paket için ayrı ayrı yazılmayacak
* Paketler yeni işlemler ekleyebilecek
* Böylece pisi kendisi değişmeden bu işleri yapabilecek, pisinin kodu da temiz 
kalacak

Uygulamak çok kolay, model.xml'e iki satır tanım, pisi comariface içinde 
ekstra bir çağrı, ve paketlere birkaç betik.



Gelistirici mesaj listesiyle ilgili daha fazla bilgi