ryandesign at macports.org
Wed Sep 16 23:00:44 PDT 2009
On Sep 17, 2009, at 00:42, Scott Haneda wrote:
> On Sep 16, 2009, at 10:25 PM, Ryan Schmidt wrote:
>> On Sep 17, 2009, at 00:23, Ryan Schmidt wrote:
>>> On Sep 17, 2009, at 00:19, Scott Haneda wrote:
>>>> So this ui_msg is not designed to abort, it is just informational?
>>> It is just informational. It does not abort. mysql5 installs
>>> without server support. The message reminds you if you want server
>>> support you now have to additionally install mysql5-server.
>> I used the same approach when I removed variants from graphviz and
>> php5. Would it be better to abort the installation process and
>> force the user to deal with the situation right there?
> I tend to lean on it should abort then. If the new way is to mysql5-
> server then the +server method probably should not do anything.
Indeed, the +server variant does currently not do anything -- except
print a message explaining to the user that it doesn't do anything
> If it still installs and does not even install the launchd item, to
> me, that is a little confusing.
The port still installs, but the variant no longer causes any changes
in the installation.
My hope was that a user could "sudo port upgrade", would notice the
message that they now need to add a new port, and that they would then
install that port. One drawback with the current implementation is
they will still see the message about the variant being obsolete even
if they have already installed the corresponding separate port. This
would be easy to correct, for example by having the separate port
install a flag file somewhere and having the variant check for the
presence of that file.
The other drawback is that the user might not see the message, as
happened for you because of the copious amount of information shown by
debug mode. Other users upgrading many many ports at once might also
miss the message as it scrolls off the top of their terminal. The
alternative would be to have the port stop with an error message if
the obsolete variants are selected. In order to proceed with the
upgrade, the user would have to install the port without these
variants, and then install the relevant separate ports. This might be
the better thing to do. It would require the user to acknowledge the
> I have never seen it done in MacPorts, but can it be interactive? Y/
> N for wanting to continue as it stands, or abort, clean, and maybe
> even allow the user to move into a mysql5-server install right there.
No, it cannot be interactive. There is no means for this to occur.
To take an example, the mysql5 port cannot cause the mysql5-server
port to install, because the mysql5-server port depends on the mysql5
port. It would create a circular dependency.
More information about the macports-users