On Apr 22, 2007, at 12:41, Randall Wood wrote:
On 22 Apr 2007, at 12:13, Bjorn Berg wrote:
So I'm new at this. Can I just type 'port uninstall dbus' on a command line? How do I find those programs that are affected by the newinstall, just run everything? Shouldn't this be a consideration in the release of a new version that looks like its capable of so much havoc?
A simple "sudo port selfupdate ; sudo port outdated" should take care of uninstalling and reinstalling most outdated versions of software that depended on the older version of dbus.
a) No, it won't: "sudo port outdated" will only show a list of ports that are outdated; it will not update them. b) That wasn't the question. The question was, once dbus has been upgraded, if it is an ABI-incompatible upgrade, how does one identify all ports that depend on dbus (whether or not they are outdated) so that they can be rebuilt? The answer is the the depsearch script in the wiki: http://trac.macosforge.org/projects/macports/wiki/ ProblemHotlist#a2.Aportfailedtobuildupgradeorrunwithamessagereferringtol ibintl.3.dylib Bjorn: sorry, MacPorts isn't smart enough to do this on its own. The port system does not track whether an upgrade is ABI-compatible or not. It just knows whether there is an upgrade to a port. It's up to you to confirm that everything still works after upgrading a port, and rebuild any dependencies as needed. The depsearch script above can help you identify what you need to do. You will, by the way, need "sudo port -f uninstall dbus", since otherwise MacPorts will complain that some other port depends on dbus. This may also be a way to determine which ports you need to rebuild, though I do not know if this will be the same list returned by depsearch.