What is the "right" place for installing ooRexx on a Mac? With the risk of being flamed I ask the question: where should the official installer go on a Mac?
I have created a „BSD Centric“ installer/uninstaller for /usr/local but there seems to be many opinions so better get it all out in the open. Here are the options as I see them (all in italic are excerpts from various places): "BSD Centric" https://unix.stackexchange.com/questions/11544/what-is-the-difference-between-opt-and-usr-local <https://unix.stackexchange.com/questions/11544/what-is-the-difference-between-opt-and-usr-local> "What is the difference between /opt and /usr/local? While both are designed to contain files not belonging to the operating system, /opt and /usr/local are not intended to contain the same set of files. /usr/local is a place to install files built by the administrator, typically by using the make command (e.g., ./configure; make; make install). The idea is to avoid clashes with files that are part of the operating system, which would either be overwritten or overwrite the local ones otherwise (e.g., /usr/bin/foo is part of the OS while /usr/local/bin/foo is a local alternative)." On the other hand, /opt is a directory for installing unbundled packages (i.e. packages not part of the Operating System distribution, but provided by an independent source), each one in its own subdirectory. They are already built whole packages provided by an independent third party software distributor. Unlike /usr/local stuff, these packages follow the directory conventions (or at least they should). For example, someapp would be installed in /opt/someapp, with one of its command being /opt/someapp/bin/foo, its configuration file would be in /etc/opt/someapp/foo.conf, and its log files in /var/opt/someapp/logs/foo.access." https://apple.stackexchange.com/questions/119230/what-is-standard-for-os-x-filesystem-e-g-opt-vs-usr <https://apple.stackexchange.com/questions/119230/what-is-standard-for-os-x-filesystem-e-g-opt-vs-usr> "Nowadays, /usr contains user commands (in /usr/bin for normal users and /usr/sbin for administrative users, like root), shared libraries (/usr/lib), man pages (/usr/share/man), executables that shouldn't be run directly by users (/usr/libexec) and other stuff. It also offers a subdirectory, /usr/local, to place programs, libraries and other files that don't come with the base OS. /opt has a very similar role to /usr/local and they seem interchangeable. However, from my experience working with other Linux/UNIX sysadmins, there seems to be a preference for /usr/local in BSD-based UNIX OSs. So this is my take on it: macOS is BSD-based and consequently I'd use /usr/local. Note that you can create a program directory and then symlink commands to /usr/local/bin, etc, for example: ... So, in macOS, I'd recommend that you stick to /usr/local as described above." Both these links seems to imply that in a BSD unix one should install to /usr/local. On my machine Homebrew and MacGPG2 install to this place. I wouldn´t say it is "cluttered" with only two installed components, Homebrew hides all its installations in /usr/local/cellar. "Linux Centric" Installing to /opt seems to me to be a Linux thing, following the Filesystem Hiearchy standard (but I might be wrong here) Apple does not follow the FHS and on a fresh installed Mac /opt does not even exist. Thus the installer must create it if it is decided to go this way. "Apple Centric" https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html#//apple_ref/doc/uid/10000123i <https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html#//apple_ref/doc/uid/10000123i> (Updated: 2017-03-27) https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html#//apple_ref/doc/uid/10000183i <https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html#//apple_ref/doc/uid/10000183i> (Updated: 2013-09-17) "For nearly all cases, installing your frameworks in /Library/Frameworks is the best choice. Frameworks in this location are discovered automatically by the compiler at compile time and the dynamic linker at runtime. Applications that link to frameworks in other directories, such as ~/Library/Frameworks or /Network/Library/Frameworks, must specify the exact path to the framework at build time so that the dynamic linker can find it. If the path changes (as it might for a user home directory), the dynamic linker may be unable to find the framework." Apple seems to prefer that installation of languages are installed as "Frameworks" The bsf4ooRexx installer follow this convention and installs in /Library/Frameworks Other languages (Ruby, Python and Kerberos) are installed in /System/Library/Frameworks, pressumably by Apple so this seems to imply that /Library/Frameworks is the "right" place for a language component on Mac One problem with the bsf4ooRexx installer is that it reports as MUCH slower when you use rexxcps.rex to benchmark it. Rony indicated that this might have to do with a plist file. This must be clarified. "Mininmal Invasive" There is the possibility to install to the users home directory ~ This will avoid the use of sudo but then the installation is only available to a single user. My USB installation is a variant on this. <Flame resistant suit on> Hälsningar/Regards/Grüsse, P.O. Jonsson oor...@jonases.se
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel