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 anymore.

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 change.

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.


_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to