Subject: binary dependancy ordering
To: None <tech-pkg@netbsd.org>
From: <>
List: tech-pkg
Date: 06/15/1999 19:22:10
Hokay... i think i brought this up before, but it may have gotten lost in =
the heat of something else...

The dependancy lists in binary packages are in the wrong order.  It's =
plain alphabetical, which causes some packages to fail to install in one =
pass on an 'empty' system.  (E.g. try to pkg_add kde-1.1.1 with none of =
its dependancies installed... it will take two tries, at least.  it will =
try kdebase ahead of kdelibs, png, qt, tiff, and xpm.)

There are two solutions - make pkg_add truly recurse to dependancies =
(which is probably icky), or list the dependancies in a better order =
(probably easier).  I wrote a script to compute a suitable ordering once =
the packages are already installed, to see how hard it is to do (not very) =
- <URL:http://www.glinx.com/~hclsmith/netbsd/pkgdep/> .  Last night I =
replaced the +CONTENTS of kde-1.1.1 with the order I had computed from =
kde-1.1, and everything went in no sweat in a single pass.

Or, perhaps... hmmm, there is a third way.  It's a tweak to pkg_add (maybe =
it's been done? i may be using an old pkg_add); if a dependancy fails to =
install because its dependancies aren't met, move it to the end of the =
queue instead of skipping it.  (knowing when to stop is a bit tricky, =
then... remember the first failure since the last success, and if you =
return to it, nothing more will install.)

I don't know enough about the package tools to help with implementing =
this, unfortunately...


--
<URL:http://www.glinx.com/~hclsmith/>