# dep-trace v. tsort  (FreeBSD/mac ports dep resolver)



## debguy (Mar 4, 2012)

http://sourceforge.net/projects/dep-trace

FreeBSD and Apple use tsort(1) during portage.

How?  Order in which to install or compile.  When?  Port A says it needs B and C compiled first.  But B and C also have requirements not known until fetched.  Thus tsort is used.

Topological sorting isn't right all the time. (i.e., "loop detected - bailing out ...", or "libxxx ... compiling ... failed ... lib yyy not yet installed") (what a pain!)  Why?  tsort vector graphics order (arrows pointing to objectives, see wikipedia) and compiling is not that.  Yet compilation does require order.

DEP-TRACE resolves this by using high speed dependancy resolving using regular math rules rather than "value added" imbibed ones.  Also it is easily a "drop in replacement".

(what is dep solving?  see also: make(1) note below)

Have Fun!

    John 


--------misc------------

(make(1) orders compiling (dependency) yes, but make language isn't conducive to ports/pkg install depends (many depends huge file), requires status file use (busts directory limit), and isn't used by FreeBSD, Apple, or Debian except for compiling)

(Debian installer checks depends but leaves the list orderless: so only works if orderless sets are ok or if the wind blows from a new direction


----------



## SirDice (Mar 5, 2012)

debguy said:
			
		

> FreeBSD and Apple use tsort(1) during portage.


What makes you think that it does?

As far as I know it's not being used.


----------

