poldek and rpm: order of packages during removal

Kacper Kornet draenog at pld-linux.org
Thu Mar 20 20:03:12 CET 2014

Short version: I would like to remove form poldek --noorder option passed to rpm 
by poldek during package removal.

Long version:

Currently the order of packages during removal by poldek is broken in Th. For

$ rpm -q --qf '[%{REQUIRENAME} %{REQUIREFLAGS:deptype}\n]' test-sub
/bin/sh preun
rpmlib(PayloadIsLzma) rpmlib
$ rpm -q --qf '[%{REQUIRENAME} %{REQUIREFLAGS:deptype}\n]' test-sub2
/bin/sh preun
test-sub preun
rpmlib(PayloadIsLzma) rpmlib

So test-sub2 should be removed before test-sub. However:

$ poldek -evv test-sub test-sub2 
Setting temporary cache directory path to /root/tmp/poldek-cache-root
Setting cache directory path to /root/tmp/poldek-cache-root
Enabling multilib mode, transaction color = 3
Trying test-sub
Trying test-sub2
mark test-sub-1-0.1.x86_64
mark test-sub2-1-0.1.x86_64
Processing dependencies...
Preparing package set...
There are 2 packages to remove:
R test-sub-1-0.1.x86_64  test-sub2-1-0.1.x86_64
Proceed? [N/y] y
Running etckeeper.sh --erase -v --root / --noorder test-sub-1-0.1.x86_64 test-sub2-1-0.1.x86_64...
sub script
sub2 script

Poldek orders packages assuming that rpm starts to remove them from the
last one. However it is true only when --noorder flag is *not* used and
packages don't depend on each other. With flag --noorder rpm in Th seems
to proceed packages starting from the first one.

At the same time current rpm in Th seems to be able to order packages
for removal by himself.

$ rpm -e  test-sub2 test-sub
sub2 script                          
sub script

$ rpm -e test-sub test-sub2
sub2 script                         
sub script


More information about the pld-devel-en mailing list