Thanks for the wrapper suggestion. I'll check it out.
On Sep 12, 2009, at 6:37 PM, Ryan Schmidt wrote:
On Sep 12, 2009, at 17:26, Matthew Cottrell wrote:
I'd like to add some post-activate code to a Portfile that would
amend PATH in a .cshrc or .profile, depending on which shell the
user is running.
Instead of doing that, just print instructions advising the user
what to do.
The Portfile currently prompts the user as you suggest, but I still
get email from novices who stumble. I figure I'd be doing them and
myself a favor.
It's not customary for ports to modify files in a user's home
directory.
I actually got the idea from the modification to PATH that appeared
in my .cshrc when I installed MacPorts ;-)
Yeah... MacPorts does break its own rule a bit there.
Part of the problem is the user might change his shell later, or one
user might be installing software on a Mac for use by multiple
users. I concede the former is perhaps not very likely. For the
latter, the user needs to be aware that software will not "just
work" for those other users -- that something needs to be added to
e.g. the .profile for it to work.
ui_msg "
1)
**************************************************************************
bash-users add the following lines to your ~/.profile or to your
~/.bashrc
**************************************************************************
ARBHOME=${prefix}/share/arb;export ARBHOME
PATH=${prefix}/share/arb/bin:\$PATH
export PATH
enter the following command:
. ~/.profile
2)
**************************************************
tcsh users add the following lines to your ~/.cshrc
**************************************************
setenv ARBHOME ${prefix}/share/arb
setenv PATH ${prefix}/share/arb\:\$PATH
enter the following command:
source ~/.cshrc
"
}
First thought: are these really necessary? Is there some way the
software could be installed so that the user need not manually set
these? For example, for the wine port, it wouldn't run right unless
DYLD_LIBRARY_PATH was set; to avoid requiring the user to set this
manually, I wrote a wrapper script so the user never knows. Read the
wine port for more info.
Second thought: if manual setup is the only way, put the setup into
a script the user can source from their .profile and install it
along with the port. This condenses your instructions down to a
single line change to the .profile to source your file; hopefully
users will be able to grasp that.
P.S: Don't forget to Reply All so your reply goes to the list too,
not just to me.
--
Matthew Cottrell
Lewes, DE 19958
http://www.mattcottrell.org
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev