Robert C. Noland III
rnoland at 2hip.net
Mon Feb 12 19:36:16 UTC 2007
On Mon, 2007-02-12 at 10:28 -0800, Jay Chandler wrote:
> Just came over to the portmanager boat from portupgrade.
> I attempt to update, and portmanager keeps getting upset that apache 1.3
> isn't installed (as a dependancy for a few ports, such as
> mailscanner-mrtg), yet apache22 is running just fine.
> Is this a problem in the ports dependencies, or is this a portmanager
> problem? Portupgrade never said much about it...
It is ultimately the fault of the port. portupgrade is far more
tolerant of such cases because it doesn't enforce the ports listed
dependencies. Each port checks for the existence of a given library or
file and then calls a dependency on a specific origin (www/apache13 for
example). The file / library check may be satisfied by a different port
(www/apache2) allowing the port to build without forcing the build of
the port actually called for in the depend. Portupgrade will allow this
behavior and then you will probably need to run a portsdb -F if I
remember correctly, where it will remap the dependency in it's database.
Portmanager on the other hand, builds it's dependency tree based on what
is actually listed in the ports makefile. It won't allow such foot
shooting behavior happily, which admittedly can be frustrating on
occasion. This most commonly shows up as an issue when you have various
ports installed which require conflicting ports (pcre vs pcre-utf8 for
example). I generally handle this situation in ports that I maintain by
providing OPTION settings to accept different dependencies where
substitution is viable. Portmanager will then track the alternative
origin port without issue.
More information about the freebsd-ports