Dependency question

Michel Talon talon at lpthe.jussieu.fr
Fri Jan 12 10:15:20 UTC 2007


Hello,

since i am writing a substitute program to portupgrade, i have noticed a
problem that i have hard time figuring out, and i would like to sollicit
the advice of more experienced people. The point is, what to do about
ports which have been installed as dependencies of some other ports, but
the dependency has changed afterwards and nothing particular occurs in
the MOVED file.
The specific example i have in mind is the following. Installing
gnome-session brings as dependency a zeroconf program. Some time ago, it
was howl, now it is avahi. If i upgrade the installed software without
further consideration of the problem, both howl *and* avahi will be
installed (and howl upgraded). If MOVED mentioned that howl has
disappeared, then i would have only avahi, which would be more correct.
Or it could be mentioned that howl has been moved to avahi, while in
fact there is no mention of howl.
A somewhat similar problem occurs with python. I have a lot of programs
depending on python, and python installed. But in more recent ports tree,
all these programs are marked dependent on python24, so if i upgrade, i
will have both python24 and python installed. Presumably they are
presently the same, but python will become python25. However nothing in
MOVED helps to solve this issue.
At present the only simple thing i can do is follow MOVED for what is
mentioned in MOVED, try to upgrade the rest, while killing disappeared
ports, and hope that dependency will restore an appropriate system. Do
you have better ideas?

By the way, a first step program is available here:
http://www.lpthe.jussieu.fr/~talon/analyze_pkg.py
It will analyze installed packages, follow MOVED, and compute the INDEX
for all installed packages and all their dependencies, that it
discovers while computing the INDEX. In my case i have around 600
installed ports, it discovers around 100 dependencies, and the procedure
takes around 1mn25 (on a P4, 3Ghz). The result can be found in the files
ErrorLog and INDEX.


-- 

Michel TALON



More information about the freebsd-ports mailing list