upgrade outdated conflicts
Ryan Schmidt
ryandesign at macports.org
Sun Apr 6 16:36:59 PDT 2008
On Apr 6, 2008, at 05:42, Tom Allison wrote:
> I'm struggling with the upgrade process right now.
>
> I've completed the following:
> selfupdate
> upgrade outdated
>
> But now I have soem mixed packages like:
> postgresql81
> postgresql82
> postgresql83
>
> in addition to postgres 8.2 having three versions itself.
>
> There are mayby 50+ of these right now.
>
> port -u upgrade outdated never completed successfully because of
> dependencies.
>
> Question: I would like to remove as many of these old versions as
> I can but it seems that getting all the dependencies out of the way
> is going to take a while for all the packages to be updated by the
> maintainer. If I wait and just keep running '-u update outdated'
> will I eventually clean up all the old packages?
Yeah, "port -u upgrade outdated" isn't a great command, it seems. See
my other reply to you a moment ago about a better set of commands.
> And can someone make any suggestion on what to do with the version
> conflicts like perl5.8/perl5.10 and postgresql81..83. I eventually
> would like to migrate everything to a common package like perl 5.10
> but I guess right now I really can't do that because of things like
> p5-dbd-pg still being tied back to 5.10...
>
> Will package upgrades like perl5.8 eventually upgrade themselves to
> perl5.10 once all the package dependencies are also upgrade?
I do not know what our plan is with regard to perl5.8/perl5.10.
Ideally, each port that depends on perl would declare the dependency
in such a way that either port would satisfy the dependency. That is,
instead of writing "depends_lib port:perl5.8", ports could write
"depends_lib path:${prefix}/bin/perl:perl5.8"; that way, if a perl is
already installed (by either perl5.8 or perl5.10), then the
dependency is satisfied, otherwise perl5.8 is installed. But at this
time, it looks like we have about 86 ports that depend on
"port:perl5.8", 2 that depend on "port:perl5.10", and 6 that use the
"path:" syntax.
As for postgresql, I understand that each major version is
incompatible with the last. That is, a database that works with 8.1
does not work with 8.2 until you manually upgrade it, at which point
it doesn't work with 8.1 anymore. Therefore, separate ports, to give
users the choice of when to upgrade to newer versions. If you find
ports that depend only on a specific version of postgresql, and do
not give you variants to let you choose which version you would like
to use, please file enhancement request tickets against those ports.
More information about the macports-users
mailing list