Place to install library of shell functions

mikel king mikel.king at olivent.com
Tue Apr 5 16:09:53 UTC 2011


On Apr 5, 2011, at 11:23 AM, Michael Grünewald wrote:

> 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

For the bash library (http://jafdip.com/?p=537) we choose /usr/local/lib. This just seems to be the most logical place for this sort of thing.

Regards,
Mikel King
BSD News Network
http://bsdnews.net
skype: mikel.king
http://twitter.com/mikelking





More information about the freebsd-questions mailing list