[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ordering



Hi,

	ALl right then. I like the minimal breaks concept, and would
 actiully like it if we could indeed to it. This is likely to be quite
 complex, though.

	Consider this: We try just the conflict+predepends ordering
 forst, so that no package need be broken overlong. However, if we hit
 an essential package, we should stop, create a full ordering
 (conflict+predepends+depends) and then unpack everything that is
 required for configuring all the packages in the tree above the
 Essential package.

	This should create a small list of install candidates, which
 can be unpacked in whatever order is deemed best, and configured; The
 essential package is then unpacked and configured as atomically as
 possible. 

	In fact, the best method probably would be so:
 A) get a preliminary ordering with all dependencies to be considered;
    This is the configure order. Do nothing yet.
 B) Insert breaks before packages are marked Essential or Configure
    now.
 C) take the set of packages (upto but not including the first package
    marked configure now); generate an unpack order to minimize
    breakage; and unpack. Configure all these packages now (they shall
    configure, since we started with  the packages in configure
    order).
 D) unpack and configure the Essential package.
 E) Go to step C

	This is, IMHO, the best of both worlds ;-)

	This shall work, if the configure order is generated by
 descending the high priority dependencies first; that is, the
 algorithm descends pre-dependant links forst, then depends links, and
 so on (so a loop shal be snipped by ignoring a low priority link
 rahter than an Essential Package link)

	manoj
-- 
 Nothing is true. Everything is permitted. Hassan I Sabbah
Manoj Srivastava  <srivasta@acm.org> <http://www.datasync.com/%7Esrivasta/>
Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E


Reply to: