[Gelistirici] [RFC] COMAR Değişiklikleri

Onur Küçük onur at pardus.org.tr
18 Ağu 2008 Pzt 20:13:06 EEST


 Merhaba,

> model.xml'deki "access_label" attribute'unu (birden fazla metodun
> aynı PolicyKit politikasını kullanması için yaptığım iğrenç hack)
> kaldırmayı ve model.xml'i parçalara ayırmayı düşünüyorum. Önerilere
> açığım.

 model.xml i bölmek derken paketler kendi model.xml bacaklarını
taşıyabilecekler mi ? Örneğin hede paketinde Provides altında kendi
model bacaklarını kaydettirebilirse pek güzel olur, böylece bahsettiğin
yeni Çomar paketi bekleme sorunu da ortadan kalkar.
Belki /etc/comar/model dizini altında bu xml lerin hepsi paket adı
ile olur ve comar başladığında bu dizinl tarayarak metodları belirler.


> Betikler
> ========
> 
> Betiklerde, yapmayı düşündüğüm iki değişiklik var:
> 
> - Yetki denetimi işini betiklerin içine taşıma, böylece daha düzenli
> bir yapı oluşturma ve daha yetenekli bir erişim denetimi sunma.
> 
> - "conditional" tipteki servis betiklerinin düzgün çalışması için,
> kayıt edildikten sonra ek iş yapılması gerektiği için betiklere
> onRegister() ve onRemove() gibi iki metod ekleme. PiSi ve COMAR'daki
> System.Service workaround'larından kurtulacağız bu şekilde.

 Betikler ile ilgili iki değişikliğe / yeniliğe ihtiyacımız var bence.

 - conditional betiklerin tristate olması güzel olur gibime geliyor.
On (zorla çalıştırma, otomatik tanıma vs. patladığında), Off (otomatik
tanımayı kapatma, bir sebepten asla çalışmamasını istediğimizde),
OnCondition (On yaptım Off yaptım oynadım bozdum duruma göre çalışma
tekrar eski haline dönsün). Altyapıda bunu destekliyor muyuz bilmiyorum
ama kullanıcı tarafında bu pek net değil. Servis ayarlarken "bunu
kapatsam bir daha açılıyor muydu, ne olucaktı, açınca mı conditional
çalışıyordu" diye bakıyorum bazen :)

 - Oneshot betik konseptimiz olsa iyi olur. Bazı betikler devamlı
çalışan bir süreç çalıştırmıyorlar, ancak açılışta bir komut (ve bazen
kapanırken başka bir komut) çalıştırıyorlar. Örneğin setserial seri
port ile ilgili bir ayar yapıyor ve işi bitiyor, ya da mesela
irqbalance artık daemon olarak çalışmıyor, yanlış hatırlamıyorsam yeni
çekirdeklerle çalıştıktan bir süre sonra kendini kapatıyor.

 Belki bu yapısal olarak büyük değişiklik getirmeden yapılabilir.
ServiceType ı mesela OneShot (vs.) diye tanımlayıp arayüzlerde de bunu
kullanıcıya düzgün gösterecek değişiklik yapabiliriz.


 Diğer kısımlara da itirazım / aklıma gelen önerim yoktur, eline sağlık
şimdiden :)

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




Gelistirici mesaj listesiyle ilgili daha fazla bilgi