Paweł Sakowski wrote:
Trzeba taz przewidziec sytuacje, gdy ktos dopisze, ze mysql wymaga gdm-a,
a w nowej wersji gdm-a sie okaze, ze jest dokladnie odwrotnie...
(sprzeczne wymagania)

System oparty na need(8) się zwyczajnie zdeadlockuje - user będzie musiał dojść do tego, czemu nie działa (wykrywanie czegoś takiego automatem byłoby wykonalne, ale dośc trudne). W systemie BSDowym (który mnie się mniej podoba, choć ma on pewne zalety) da się pewnie takie rzeczy wykrywać. Tak długo jak w pakietach nie będziemy takich pętli dostarczać, tak długo chyba będzie ok.


Żaden problem. W jednym i drugim przypadku sprowadza się to do szukania
pętli. W przypadku BSD można to łatwo robić na podstawie treści plików
rc. W przypadku need trzeba próbować spełniać wszystkie need jakie się
trafią (próbując uruchomić usługi) i odpowiednio wcześnie być w stanie
stwierdzić, że na stosie dependencies coś się powtórzyło.

Trzeba by troche pohakować simpleinit. W przypadku recodera jest to prostsze...

BTW: w obecnym ukladzie skryptow startowych trzeba by sie niezle
nagimnastykowac, zeby uzystac cos takiego:

/home po NFS
/home/services lokalne
/home/services/swap jako swap
;)
[...]
Ten przykład byłby wykonalny, ale wymagałby osobnego skryptu dla każdego systemu plików i osobnego pliku konfiguracyjnego, żeby pozwolić na zmiane needów bez ręcznej edycji skryptu. No chyba, że zrobimy sobie jakiś generator rc-scriptsów...

swap needs: /home/services/swap /home/services/swap needs: /home/services /home/services needs: /home /home needs: portmap portmap needs: eth0 [i.t.d.]

i z innej strony:

/home/services needs: fsck_/dev/hda2
/dev/hda2 needs: udev

Przydługie to. Ale gdyby komuś się udało rozpisać rc.sysinit na takie
zależności, to byłaby rewelacja.

No właśnie problem jest z rozdrobnieniem. Obecnie w simpleinit jeden need to jeden skrypt ,,zaspokajający''.

--
z wyrazami szacunku,
Jakub Piotr Cłapa

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



Odpowiedź listem elektroniczym