Re: [Th] Upgrade apport - jak rozumieć ten błąd?
Patryk Zawadzki
patrys w pld-linux.org
Śro, 9 Kwi 2008, 20:56:35 CEST
2008/4/9 Tomasz Pala <gotar w polanet.pl>:
> On Wed, Apr 09, 2008 at 18:00:52 +0200, Patryk Zawadzki wrote:
>
> > > Żeby uzupełnić - to jest zarzut także do Ac. W zasadzie nic, co korzysta
> > > z webapps, nie mogę normalnie zaktualizować, bo robi swoje czary-mary na
> > > moich plikach i z mojego punktu widzenia - psuje je.
> >
> > Powinno tworzyć tylko symlinki. Jak psuje?
>
> Ostatni upgrade phpPgAdmina usunął mi link
>
> /etc/httpd/httpd.conf/99_phpPgAdmin.conf
>
> O ile był on tworzony w %post oryginalnego pakietu i jego usunięcie
> można w ten sposób tłumaczyć, to jednak nie należał do pakietu, nie był
> oznaczany żadnymi flagami (%ghost %config %verify itp.) i w gruncie
> rzeczy mógłby być dowolnym linkiem do jakiegoś alternatywnego pliku
> konfiguracyjnego - w ten sposób do webapps trafi jakiś tam obcy plik
> /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave, a ja nie będę wiedział,
> co powinno być zlinkowane - krótko mówiąc tu powinno być sprawdzenie,
> czy kasowany link wskazuje tam, gdzie był zakładany starym pakietem.
>
> Po drugie: konstrukcje typu poniższego zamieniłbym w ten sposób:
>
> if [ -f /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave ]; then
> if [ -d /etc/apache/webapps.d ]; then
> cp -f /etc/webapps/phpPgAdmin/apache.conf{,.rpmnew}
> - cp -f /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave /etc/webapps/phpPgAdmin/apache.conf
> + mv -f /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave /etc/webapps/phpPgAdmin/apache.conf
> fi
>
> if [ -d /etc/httpd/webapps.d ]; then
> cp -f /etc/webapps/phpPgAdmin/httpd.conf{,.rpmnew}
> - cp -f /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave /etc/webapps/phpPgAdmin/httpd.conf
> + mv -f /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave /etc/webapps/phpPgAdmin/httpd.conf
> fi
> - rm -f /etc/phpPgAdmin/apache-phpPgAdmin.conf.rpmsave
> fi
>
> zagrożenia - w przypadku, gdy ktoś nie będzie miał
> /etc/{apache,httpd}/webapps.d (bo sytuacja wymusiła na nim nodepsa, bo
> rpm czy poldek zgłupiał z kolejnością, bo akurat sobie przenosił
> katalog, bo cały katalog z konfiguracją apacha ktoś ma podlinkowany), to
> nie będzie miał ani kopii, ani oryginału.
Przekazałem glenowi.
> To był katalog, który został zastąpiony plikiem. Inny sposób jest -
> naprawienie rpma, żeby obsługiwał takie sytuacje bez odwoływania się do
> rm -rf. I zauważcie - w tym przypadku wystarcza, aby nie używać opcji
> -r, w myśl zasady, że lepiej przerwać wykonywanie transakcji rpma, niż
> usunąć czyjeś pliki - bo skoro pozostało COŚ w katalogu, COŚ nienależące
> do pakietu, to musi mieć innego właściciela.
rpm nie potrafi tylko zastępować symlinków plikami/katalogami. Wczoraj
potwierdził to jeff. Taki %pre w dodatku nic nie zrobi, bo
jakiekolwiek operacje problematyczne dla rpm trzeba rozwiązać w
%pretrans. Zmiana do cofnięcia.
--
Patryk Zawadzki
PLD Linux Distribution
Więcej informacji o liście dyskusyjnej pld-devel-pl