[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