bug w rpm-ie czy ja cos zle robie?
Rafal Cygnarowski
zswi w pers.pl
Śro, 29 Sty 2003, 14:10:08 CET
Czesc!
W celu przetestowania pre,post,preun i postun skryptow zrobilem sobie
trzy spece: x, z, y. z od x rozni sie tylko nazwa i w skryptach wypisuje
z zamiast x. x.spec i y.spec zamieszczam ponizej:
----- x.spec ----
Summary: xxx
Group: none
Name: x
Version: 0
Release: 0
License: ?
Requires: y
Requires(preun,postun,pre,post): y
BuildRoot: /root/tmp/rpmtest
%description
xxx
%install
mkdir -p $RPM_BUILD_ROOT/tmp
touch $RPM_BUILD_ROOT/tmp/test
%post
echo "post x %{version}"
ls -l /tmp/test2
%pre
echo "pre x %{version}"
ls -l /tmp/test2
%postun
echo "postun x %{version}"
ls -l /tmp/test2
%preun
echo "preun x %{version}"
ls -l /tmp/test2
%clean
rm -rf $RPM_BUILD_ROOT
%files
/tmp/test
------ koniec x.spec ---------
------ y.spec ------
Summary: yyy
Group: none
Name: y
Version: 0
Release: 0
License: ?
BuildRoot: /root/tmp/rpmtest
%description
yyy
%install
mkdir -p $RPM_BUILD_ROOT/tmp
touch $RPM_BUILD_ROOT/tmp/test2
%clean
rm -rf $RPM_BUILD_ROOT
%files
/tmp/test2
----- koniec y.spec -----------
ok. zaczynamy zabawe:
[root w rafal rafi]# rpm -q x y z
x-0-0
y-0-0
z-0-0
[root w rafal rafi]# poldek
[ciach]
Witaj w poldekowym trybie interaktywnym. Wpisz "help" aby otrzymać
pomoc.
poldek> uninstall y
y-0-0 marks z-0-0
y-0-0 marks x-0-0
Zaznaczono 3 pakiety do usunięcia (2 zaznaczone pośrednio):
R y-0-0
D x-0-0, z-0-0
Kontynuować? [y/N]
Uruchamianie rpm --erase --root /...
preun x 0
-rw-r--r-- 1 root root 0 01-29 13:39 /tmp/test2
postun x 0
-rw-r--r-- 1 root root 0 01-29 13:39 /tmp/test2
preun z 0
ls: /tmp/test2: Nie ma takiego pliku ani katalogu
błąd: execution of %preun scriptlet from z-0-0 failed, exit status 1
poldek> quit
Zapisywanie /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz...
Zapisywanie sumy kontrolnej
/root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.mdd...
[root w rafal rafi]# rpm -q x y z
pakiet x nie jest zainstalowany
pakiet y nie jest zainstalowany
z-0-0
Wiec: y zostal odinstalowany przed z, choc mial go w
Requires(pre,post,preun,postun)! A teraz jeszcze na dokladke:
[root w rafal rafi]# rpm -q x y z
x-0-0
y-0-0
z-0-0
[root w rafal rafi]# rpm -e y x z
preun x 0
ls: /tmp/test2: Nie ma takiego pliku ani katalogu
błąd: execution of %preun scriptlet from x-0-0 failed, exit status 1
preun z 0
ls: /tmp/test2: Nie ma takiego pliku ani katalogu
błąd: execution of %preun scriptlet from z-0-0 failed, exit status 1
[root w rafal rafi]# rpm -q x y z
x-0-0
pakiet y nie jest zainstalowany
z-0-0
[root w rafal rafi]#
czyli rpm mial wszystkie skryptowe Req w glebokim poszanowaniu...
[root w rafal rafi]# rpm -q rpm
rpm-4.0.2-102
moze to znany blad i mam za starego rpm-ka?
--
Rafal Cygnarowski
rafi w pers.pl
Więcej informacji o liście dyskusyjnej pld-devel-pl