On Jun 13, 2008, at 16:27, Alan Batie wrote: > Ryan Schmidt wrote: > >> MacPorts just has no way to know. That's why it's an excellent >> suggestion to add the OS version, Xcode version and processor >> architecture to the unique identifier to try to make it truly unique. > > We're in violent agreement ;-) I was thinking of this future, > sorry about that... > >> You never want "port upgrade installed"; you want "port upgrade >> outdated", if anything. "port upgrade" does not upgrade ports that >> are not outdated, so saying "port upgrade installed" just wastes >> time evaluating ports that won't get upgraded. > > makes sense > >> Just having a newer version of Xcode should not trigger a port to >> show up in "port outdated", though once we start storing >> information about Xcode version and such with each installed port, >> there could be an optional more-pedantic "outdated" which could >> list this. > > perhaps a "port rebuild outdated", where "outdated" in this case > refers to the environment rather than the port version?
"outdated" is a "pseudo-port", which MacPorts expands into a list of ports. MacPorts cannot expand "outdated" to mean one set of ports in one circumstance and a different set of ports in a different circumstance. The list of "outdated" ports is always the same, regardless what port command you issue. > I'm assuming "port upgrade outdated" would eliminate the issue in > the cases where the port *does* have a newer version. Not in the case where the port you're wanting to upgrade already has e.g. the +darwin_8 variant selected. In that case, MacPorts will currently add the +darwin_9 variant (if the port has one) but not remove the +darwin_8 variant. MacPorts should be enhanced to remove the +darwin_8 variant in this case. >> If you want to go back to the old version, you can deactivate the >> new version and (re)activate the old one. > > Ahhh, cool. > >> You already have that, for individual ports. To rebuild port foo >> even if port doesn't think it needs to be rebuilt: >> sudo port -ncuf upgrade foo > > Also cool. Though this is going to fetch the latest version, which > may not be what you want. Correct. > Perhaps if you specified the existing version as the "upgrade"? Not possible. MacPorts has no built-in way to install an older version once a portfile has been updated. Instructions for getting an older version are in the How To's: http://trac.macports.org/wiki/howto/InstallingOlderPort >> installed and activated dovecot @1.0.13_0+darwin_8 and deactivated >> (but left installed) dovecot @1.0.0_0+darwin_8. > >> Then you asked for dovecot to be installed, and because the set of >> variants MacPorts decided to use (only +darwin_9) differed from >> what was already installed, it built it again, and installed (but >> couldn't activate because of the other version already active) > > I'm confused why it could activate the new version the first time > and not the second? In one instance, I think you said "port upgrade", which means "install the new version, then deactivate the currently-active version, then activate the new version." In the other case, I think you said "port install", which means "install the new version and activate it". Only one port can be active at a time, so "port install" had an error when attempting to activate. _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-users