Dlaczego?
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Nie, 21 Lis 1999, 13:07:18 CET
On Sun, 21 Nov 1999, Michal Margula wrote:
[..]
> Aha - czy ktoś ma coś naprzeciw żebym się zajął
> biblioteką GGI i svgalib4ggi? Bo nie działa mi na tym quake world i chce to
> spróbować popsuć :)
Próbuj.
> > które ? :)
>
> Oto te listy :)
>
> Date: Thu, 18 Nov 1999 16:25:57 +0100
> Subject: Bałagan z RPMem czy mi się coś wydaje? :)
%pre
if [ -L /var/state/rpm ]; then
echo "WARNING: upgrade cannot be done because /var/state/rpm is symlink"
exit 1
fi
if [ ! -d /var/state/rpm ]; then
if [ -e /var/lib/rpm ] && [ ! -L /var/lib/rpm ]; then
mkdir -p /var/state/rpm
cp -ap /var/lib/rpm/* /var/state/rpm
rm -rf /var/lib/rpm
ln -sf /var/state/rpm /var/lib/rpm
echo "RPM Database moved from /var/lib/rpm to /var/state/rpm" 1>&2
echo "Run second time upgradeing rpm package for complete operation" 1>&2
exit 1
fi
if [ -e /var/db/rpm ] && [ ! -L /var/db/rpm ]; then
mkdir -p /var/state/rpm
cp -ap /var/db/rpm/* /var/state/rpm
rm -rf /var/db/rpm
ln -sf /var/state/rpm /var/db/rpm
echo "RPM Database moved from /var/db/rpm to /var/state/rpm" 1>&2
echo "Run second time upgradeing rpm package for complete operation" 1>&2
exit 1
fi
fi
%post
if [ -L /var/lib/rpm ]; then
rm -rf /var/lib/rpm
fi
if [ -L /var/db/rpm ]; then
rm -rf /var/db/rpm
fi
/bin/rpm --initdb
To są skrypty z rpm-a. Jak widzisz algorytm jest taki, że sprawdzane jest
czy /var/state/rpm jest linkiem jeżeli jest to jest to pzrerywane gdyż
wskazyje na jakieś ręczne manipulacje i reszta skryptów zachowa się przy
czymś takim w ten sposób, że stracisz całą bazę.
Potem sprawdzane jest czy baza jest w /var/lib/rpm lub /var/db/rpm. Jęzli
jest to jest przenoszona do /var/state/rpm i dodawany jest odpowiedni
link na /var/state/rpm, a następnie upgrade jest przerywanyz komunikatem
żeby powtórzyć operację.
W tak przejściowo spreporowanej lokacji bazy dkonywany jest upgrade
właściwy i instalowany jest plik /usr/lib/rpm/macros który wskazuje na
/var/state/rpm jako położenie bazy.
Po wszystkim są usuwane l;inki /var/db/rpm/ i /var/lib/rpm.
Powtórze jeszcze raz (bo chyba jeszcze nie dotarło :>).
"rpm - U rpm*rpm" wykonać trzeba _dwa razy_.
> Date: Sat, 20 Nov 1999 11:46:03 +0100
> Subject: Wybór nazwy wynikowej
To już ustal z wigetem jak to zrobić :)
Artur będzie dopiero jutro, a moze dzisiaj wieczorem.
W każdym bąć razie nic nie stoi na przeszkodzie żeby pakiet góowny i
podpakiet maiały różne pola Version, Revision itd. (zajrzyj do jade.spec).
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*
Więcej informacji o liście dyskusyjnej pld-devel-pl