Perdition

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Nie, 2 Lip 2000, 20:00:36 CEST


On Sun, 2 Jul 2000, Marcin Bohosiewicz wrote:
[..]
> Wrzucilem do CVS'a to co autorzy dali - src i speca, ktory po przepuszczeniu
> przez adaptera ladnie sie kompiluje na team.pld.org.pl.
> Sek w tym, ze nie wiem czy nie nalezaloby jednak podzielic go na wiecej
> podpakietow, tak by nie trzeba bylo instalowac Postgresa i MySQL,
> gdy sie z ich biubliotek nie korzysta, a jedynie z GDBM lub 1:1
> przekazywania user/haslo.

Wygląda na to, że to są poprostu dodatkowe moduły backendów do współpracy
z danym typem bazy i podział nad jakim się zastanawiasz jest chyba
naturalny. Nie zaglądałem jeszcze do dok ale na pierwszy rzut oka wydaje
się, że tak to dokładnie ma pracować.

Marcin jeszcze jedno. Zaktualizuj sobie adapter.awk na nowszą wersję bo to
co wrzuciłeś nie wykonało pewnych modyfikacji. Zawiera także błędy czysto
konstrukcyjne. Np. w pakietach są lib*.so SONAME i lib*.so.*.*. Powinny
być tylko te ostanie i w %post/%postun powinnien być wykonywany
/sbin/ldconfig żeby zarekestrować liba w /etc/ld.so.cache i przy okazji
utworzyć/skasować SONAME linki.

Kilka rezeczy które najbardziej szczypią w oczy zaraz poprawię ale dalszy
podział i względnie autokonfiguracja (bo po zainstalowaniu konkretnego
backenda zapewne trzeba/można wykonać jakąś modyfikację w plikach
konfiguracyjnych). Zapewne też nie ma sensu instalowanei kilku backendów
(sprawdź to czy tak jest i czy dobrze się domyślam) i jeżeli tak jest w
istocie to podpakiety z backendami powinny wzajemnie się wyinstalowaywać,
a także nie powinno się zapewne dopuszczać do sytuacji w której nie ma
żadnego bacenda czyli trzeba będzie tu dodać odpowiednei reguły
Requires: <backend> dla pakirtu głowenego i także Provides: <backend> i
Obsoletes: <another_backends> dla samych podpakietów backendów.
Jeżeli automatyczne przestawienie backenda nie będzie wskazane to
ocztwiście powinny w backendach pojawić się regółki Conflicts.

Z kolejnych rzeczy to standaryzacja %post/%preun. Teraz to wygląda tak:

%post
make -q -C /etc/perdition/
/sbin/chkconfig --add perdition

%preun
/sbin/chkconfig --del perdition

A powinno wyglądać (w zarysie):

%post
make -q -C /etc/perdition/
/sbin/chkconfig --add perdition
if [ /var/lock/subsys/perdition.{imap,pop} ]; then
	/etc/rc.d/init.d/perdition restart
else
	echo "Run \"/etc/rc.d/init.d/perdition start\" to start perdition daemon."
fi

%preun
f [ "$1" = "0" ]; then
	/sbin/chkconfig --del perdition
	/etc/rc.d/init.d/perdition stop
fi

Powyższa konstrukcja przypomnę, że jest potrzebna do tego żeby serwis
został zastopowany przy wykasowywaniu pakietu i żeby został zrestartowany
przy upgrade. Zapewne restart też bezie musiał być wykonywany przy
podmianie backendów. Druga sprawa to to że chyba warto oddzielić popd od
imapd.

(swoją drogą ciekawe jakim cudem trafiło moje nazwisko do nagłówka sktyptu
startowego w dystrybucyjnym tarze .. przecież ja tego perdition
pierwszy raz na oczy widzę :-)

[..]
> PS. Do kloczka: czemu ntp lezy w cvs a nie ma go na ftp.

Nie paiętam ale coś tam było chyba jeszcze do skończenia (zerknę).
Zapewne spec nie spełniał ogólnie przyjętych standardów którym podlegają
pakiety które już na ftp są.

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*


___________________________
polish  linux  distribution
-> http://lists.pld.org.pl/



Więcej informacji o liście dyskusyjnej pld-devel-pl