On Wed, Aug 6, 2008 at 8:28 PM, Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
AFICT, this is Untrue, rpm don't do so.
rpm use a topological sorting in install, eg partial ordering based - it will be non deterministic only with dependency loop. See this example
rpm -Uvvvvvvvh --test /home/machbuild/rpmbuild/RPMS/verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm-1.0-1.noarch.rpm /home/machbuild/rpmbuild/RPMS/veryl-1.0-1.noarch.rpm 2>&1 | grep -A 5 -B 5 "tsorting packages"
D: ========== +++ foo-1.0-1 noarch/linux 0x0
D: Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 YES (cached)
D: Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 YES (cached)
D: closed db index /var/lib/rpm/Depends
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D: 0 0 1 0 1 0 +verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm-1.0-1.noarch
D: ========== successors only (12581 bytes)
D: 1 1 0 0 2 0 +veryl-1.0-1.noarch
D: installing binary packages
D: mounted filesystems:
rpm -Uvh /home/machbuild/rpmbuild/RPMS/verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm-1.0-1.noarch.rpm /home/machbuild/rpmbuild/RPMS/veryl-1.0-1.noarch.rpm 2>&1
Preparing... ########################################### [100%]
installing verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm
1:veryloooooooooooooooooo########################################### [ 50%]
installing veryl
2:veryl ########################################### [100%]
veyl has : Requires(post): verylooo..grpm
So verylooong will be installed before veryl. OTHO. AFAICT it is possible anyway to influence
the ordering if some other package increment the incoming edge deps on the veryl package.
yum, which is based on rpmlib, do the same. Anaconda ordering is/was/can be different.
Regards
> So I would need to have an "config" package thatSee
> - depends on fedora-usermgmt fedora-usermgmt-shadowutils
> - is guaranteed to install _before_ any other package that depends on
> fedora-usermgmt
http://fedoraproject.org/wikiold/PackageUserCreation (old wiki;
conversion to new broke some things)
https://www.redhat.com/archives/fedora-extras-list/2006-March/msg00793.html
http://ensc.de/fedora/fedora-usermgmt-my.spec
Latter is a spec file which should be used to create a package for a
local repository. Register this repository in your kickstart file, and
add 'fedora-usermgmt-my' to the %files section. Due to its shorter
name it wins against 'fedora-usermgmt-shadow-utils' (which applies the
non-predictable behaviour by default).
AFICT, this is Untrue, rpm don't do so.
rpm use a topological sorting in install, eg partial ordering based - it will be non deterministic only with dependency loop. See this example
rpm -Uvvvvvvvh --test /home/machbuild/rpmbuild/RPMS/verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm-1.0-1.noarch.rpm /home/machbuild/rpmbuild/RPMS/veryl-1.0-1.noarch.rpm 2>&1 | grep -A 5 -B 5 "tsorting packages"
D: ========== +++ foo-1.0-1 noarch/linux 0x0
D: Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 YES (cached)
D: Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 YES (cached)
D: closed db index /var/lib/rpm/Depends
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D: 0 0 1 0 1 0 +verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm-1.0-1.noarch
D: ========== successors only (12581 bytes)
D: 1 1 0 0 2 0 +veryl-1.0-1.noarch
D: installing binary packages
D: mounted filesystems:
rpm -Uvh /home/machbuild/rpmbuild/RPMS/verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm-1.0-1.noarch.rpm /home/machbuild/rpmbuild/RPMS/veryl-1.0-1.noarch.rpm 2>&1
Preparing... ########################################### [100%]
installing verylooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongrpm
1:veryloooooooooooooooooo########################################### [ 50%]
installing veryl
2:veryl ########################################### [100%]
veyl has : Requires(post): verylooo..grpm
So verylooong will be installed before veryl. OTHO. AFAICT it is possible anyway to influence
the ordering if some other package increment the incoming edge deps on the veryl package.
yum, which is based on rpmlib, do the same. Anaconda ordering is/was/can be different.
Regards
-- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list