# doc/manual/tsort

Go to the documentation of this file.

    00001
    00119     pango-gtkbeta-devel pango-gtkbeta
    00120     XFree86             Mesa
    00121     compat-glibc        db2
    00122     compat-glibc        db1
    00123     pam                 initscripts
    00124     kernel              initscripts
    00125     initscripts         sysklogd
    00126     /* 6.2 */
    00127     egcs-c++            libstdc++
    00128     /* 6.1 */
    00129     pilot-link-devel    pilot-link
    00130     /* 5.2 */
    00131     pam                 pamconfig
    00132 \endverbatim
    00133
    00134 Why are there new loops? Because tsort is trying to use all of the
    00135 dependency relations for ordering, while the previous tsort ignored all
    00136 Requires: from added packages.
    00137
    00138 Except for the "well known" libtermcap <-> bash loop (which is just wrong),
    00139 all of the other dependencies are simply not needed in an upgrade context
    00140 to perform package ordering. Please note that all of the known to cause
    00141 loop dependencies listed above are, for now, explicitly ignored when
    00142 determining package install ordering.
    00143
    00144 \subsection tsort_summary Summary
    00145
    00146 So what does this all mean? Basically not much, unless you find yourself
    00147 trying to specify dependencies amongst a set of packages correctly and
    00148 happen to create a dependency loop.
    00149
    00150 And, before you start adding the new-fangled syntax to packages, please
    00151 remember that rpm will almost certainly be auto-generating fine-grained
    00152 dependencies for %post et al scriptlets pretty soon. Truly, rpm needs to
    00153 make packaging easier, not provide Yet More Complicated Syntax in spec files.
    00154
    00155 With thanks to Ken Estes for doing the implementation in bash2 that makes
    00156 it possible to auto-generate scriptlet dependencies, blame me for the long,
    00157 slow deployment.
    00158
    00159 */