<div dir="ltr">On Wed, Aug 6, 2008 at 8:28 PM, Enrico Scholz <span dir="ltr"><<a href="mailto:enrico.scholz@informatik.tu-chemnitz.de" target="_blank">enrico.scholz@informatik.tu-chemnitz.de</a>></span> wrote:<br><div class="gmail_quote">

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>"Martin Langhoff" <<a href="mailto:martin.langhoff@gmail.com" target="_blank">martin.langhoff@gmail.com</a>> writes:<br>


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