Place to install library of shell functions
Michael Grünewald
michaelgrunewald at yahoo.fr
Tue Apr 5 15:41:51 UTC 2011
Dear FreeBSD users,
today I come to you with what seems to be somehow pedantic question:
where is the best place to install libraries of shell functions.
I read hier(4) carefully and it seems the correct place for this would
be somewhere under `/usr/local/share':
share/ architecture-independent files
On the base systems, many macros (make templates and groff macros) are
actually installed under /usr/share. However, the only library of shell
functions I am aware of is `/etc/rc.subr', that landed on this funny
location, probably to be pretty sure that this library is on the same
filesystem as the scripts under /etc/rc.d.
Several of the ports install shell scripts under `/usr/local/lib' that
hier(4) devotes to ``shared and archive ar(1)-type libraries''. These
shell scripts are:
> find /usr/local/lib -name '*.sh'
/usr/local/lib/tk8.5/tkConfig.sh
/usr/local/lib/seamonkey/run-mozilla.sh
/usr/local/lib/libxul/run-mozilla.sh
/usr/local/lib/rpm/convertrpmrc.sh
/usr/local/lib/rpm/find-lang.sh
/usr/local/lib/rpm/getpo.sh
/usr/local/lib/rpm/u_pkg.sh
/usr/local/lib/rpm/vpkg-provides.sh
/usr/local/lib/rpm/vpkg-provides2.sh
/usr/local/lib/firefox/run-mozilla.sh
/usr/local/lib/tcl8.5/tclConfig.sh
/usr/local/lib/thunderbird/run-mozilla.sh
/usr/local/lib/llvm-gcc-2.8/gcc/x86_64-portbld-freebsd8.2/4.2.1/install-tools/fixinc.sh
Two files (the `/usr/local/lib/tcl8.5/tclConfig.sh' one and the
`s/tcl/tk/g' one) are actually shell script libraries (defining a bunch
of variables), and all the others are ancillary scripts, that would
maybe better fit in `/usr/local/libexec'.
So, practical experience does not really second my a priori that these
files sould go under the `share' hierarchy and I would like to have your
opinion on this question.
--
Best Regards,
Michael
More information about the freebsd-questions
mailing list