On 01.11.2011 16:40, H. İbrahim Güngör wrote:
> On 01 Kasım 2011 Salı 16:32:31 Gökçen Eraslan wrote:
>> Gökhan Özbulak wrote On 11/01/2011 04:07 PM:
>>> 01 Kasım 2011 Salı günü (saat 16:03:51) Fatih Aşıcı şunları yazmıştı:
>>>> 01.11.2011 15:40, Gökhan Özbulak yazmış:
>>>>> Merhaba,
>>>>>
>>>>> Şu anda bir servisi (A) başlatırken o servise bağımlı servislerin de
>>>>> (B, C) başlatılması için ilgili paketin servis betiğinde
>>>>> startDependencies ile bağımlı servislerin listesini geçiriyoruz ve
>>>>> sonrasında servisi (A) başlatıyoruz. Çomarda bunu otomatikleştirmek
>>>>> için paketin (A) servis olan çalışma anı bağımlılıklarını pisi API
>>>>> ile çözümlemeyi ve
>>>>> başlamamışsa başlatmayı sağlayacak bir dizi değişiklik yapmayı
>>>>> planlıyoruz. Bununla ilgili itirazı/önerisi olan?
>>>>
>>>> A'nın B ve C'ye bağımlı olduğu sonucuna nasıl varacaksınız?
>>>
>>> /var/lib altında metadata.xml'deki spec'i parse edip bağımlılıkları
>>> çözdükten sonra bağımlı paketlerden yine aynı yöntemle service.py
>>> sağlayanları bağımlı servis olarak işaretleyerek. Mümkün gibi geldi bu,
>>> değilse başka önerebileceğin yol var mı? Sistem paket db'sini
>>> sorgulayabilir miyiz?
>> Bu iş biraz yaş. Diyelim A, B'ye runtimeda bağımlı ve B'den de 3 tane
>> farklı isimde servis çıkıyor (aynı binary paketten, misal nfs-utils),
>> fakat A servisinin başlaması için bunların başlamasına da gerek yok. Ne
>> olacak o zaman? Boşuna boşuna mı başlatılacak B'den çıkan servisler?
>>
>> Paketlerin bağımlılıklarını nasıl ki otomatik bulmaya çalışmıyorsak
>> (nelere linklendiğine vs. bakıp), servis bağımlılıklarını çözmek için de
>> otomasyon yapmayalım derim. Zira bi servis için en önemli şeylerden biri
>> servis bağımlılıkları, onu da paketçisi bilsin ve elle yazsın.
> 
> Bu işi otomatize etmeye çalışmayalım bence de. Paket ne kadar ideal yapılırsa 
> yapılsın (her daemon için bir servis betiği, her servis betiğine ayrı paket 
> gibi) öngöremediğimiz senaryolar olacak. Genelde bir servisin başlatması 
> gereken azami 2-3 servis oluyor, onlar da servis betiğinde belirtilsin.

+1. Servisin başına yazalım ya, startDependencies() çağırmak da saçma bence:

require = ["cups", "bluez"]
optional = ["rsync"]

gibi şeyler olabilir..


-- 
Ozan Caglayan

Pardus Linux
http://www.pardus.org.tr/eng
_______________________________________________
Gelistirici mailing list
Gelistirici@pardus.org.tr
http://liste.pardus.org.tr/mailman/listinfo/gelistirici

Cevap