Odd upgrade behavior

Joshua Root jmr at macports.org
Mon Aug 2 04:11:30 PDT 2010


On 2010-8-2 03:09 , Arno Hautala wrote:
> Is this the expected behavior for "port upgrade --enforce-variants outdated"?
> 
>  --->  Computing dependencies for dblatex
>  --->  Dependencies to be installed: ImageMagick
> ...
>  --->  Staging ImageMagick into destroot
>  --->  Packaging tbz2 archive for ImageMagick 6.6.3-0_0+q16+universal
>  --->  Installing ImageMagick @6.6.3-0_0+q16+universal
>  --->  Deactivating ImageMagick @6.6.3-0_0+gs+mpeg+perl+q16
>  --->  Cleaning ImageMagick
>  --->  Activating ImageMagick @6.6.3-0_0+q16+universal
>  --->  Cleaning ImageMagick
>  --->  Fetching archive for dblatex

What's happening here is not that the upgrade action is removing your
variants, but that the install action for dblatex looks for its
dependencies, sees that not all of them are met (as ImageMagick does not
have the right archs), and so it installs them. As usual, the
dependencies are installed with the same variants as dblatex is being
installed with. So it installs ImageMagick +universal, and also +q16 as
that is a default variant.

This may be somewhat unexpected, but it could only happen because a port
was installed with +universal without all its dependencies being
+universal. That's never been a supported configuration. You can't get
into that state via normal install and upgrade operations with ports
installed with 1.9. (I'm sure you can still mess things up by
deactivating dependencies.)

Of course, if universal dblatex doesn't actually need a universal
ImageMagick, i.e. if it only runs the tools and doesn't link against
libmagick, then it should indicate that with depends_skip_archcheck.

- Josh


More information about the macports-users mailing list