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