We need to make it easier for new Metamath users to join the fun.

Typical Metamath users have multiple things installed. I think they should be 
able to install things wherever they want, *but* we should have some 
conventions so that things "just work" on a simple install by default.

Here are some thoughts about how to do this; comments welcome.

--- David A. Wheeler

============================================

First, overall:
1. People should be able to put things wherever they want; the point here is to 
just set some *defaults* in config files etc. so that if you don't care, things 
will automatically work together.
2. We should try to follow the local system conventions, supporting at least 
Windows (including with and without Cygwin), Linux (Ubuntu/Debian/Fedora at 
least), and MacOS.
3. Precompiled packages should be available, especially on systems where 
compilers are harder to set up (Windows), but it should be relatively easy to 
set up things with source code.
4. Different components must start in different directories, so that you can 
upgrade one without stomping on another. In particular, the current "set.mm" 
should be in a directory *separate* from metamath-exe and mmj2.
5. I'm focusing on the set.mm database, metamath-exe, and mmj2 for starters, 
but there are other Metamath tools & I'm sure their users would like things to 
be simpler too!


So let me start with a proposal for Linux systems, using its conventions ("~" 
is the user home directory):
* Install set.mm in "~/set.mm". This is already what happens if you are in your 
home directory and do the usual git install command from GitHub: "git install 
https://github.com/metamath/set.mm.git";.
* Install the metamath-exe (C) source code in "~/metamath". This is already 
what happens if you are in your home directory and follow the metamath-exe 
instructions at http://us.metamath.org/#downloads . You can compile it & leave 
its executable there. You can do a local user install to your home directory 
$HOME (e.g., $HOME/bin/metamath), a local system install to the usual directory 
/usr/local/ (e.g., /usr/local/bin/metamath), or a *system package* for 
metamath, to the usual directory /usr (e.g., /usr/bin/metamath for the 
exectuable) - the autoconf file in Metamath already supports all of that as 
usual.
* Install mmj2 source code in "~/mmj2". It should also be installable with all 
the usual conventions.

Programs can increase the likelihood of finding a working metamath-exe 
executable by doing PATH="$PATH:$HOME/metamath" and then calling metamath. That 
way, if the metamath executable wanted by the user is on the PATH, that will be 
used... but if one isn't in the PATH, then ~/metamath is checked out 
automatically.

On Windows the convention seems to be to install metamath-exe into 
"c:\metamath". That's unusual, and I worry that some systems that forbid that 
(since it's outside the user home directory). But if that is to continue, then 
I'd suggest "c:\set.mm" for the set.mm database (as copied from git) and 
"c:\mmj2" for mmj2's source distribution. A similar trick applies for programs 
trying run metamath; set PATH="%PATH%;c:\metamath" and then give it a try. If 
people want to use the home directory as the default instead, that's great. 
Many Windows users depend on a package installer, but that's a more work to set 
up.

MacOS: Not sure what to say here. It might not be hard to set up something with 
brew, at least for metamath-exe.

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/E1jV0rF-0006nT-CW%40rmmprod06.runbox.

Reply via email to