Background: The Bash Library Project began as an accidental proof of concept to make writing system applications in bash easier. The original rudimentary functionality has evolved into a somewhat established standard.
Goal: To establish a standard by which all future blib development and user contributions should be set. In addition to make future development simpler and more straight forward.
Current State: The project has grow a bit in scope as a result of the constant development. There are new libraries being added to the base and a standardized installation system is in the works. What is particularly vexing is the development of end user libraries that are not part of the distributed base package. Refer to the following image which will aid in explaining the issue.
Discussion: The basic library is stored in /usr/local/lib/blib. The associated applications built using blib are arranged in their own library containers under /usr/local/lib. For instance examine the rotator application’s library in /usr/local/lib/rotator.
While this structure may work fine for small installations it is evident that is will not scale well. An alternative needs to be established to make projected growth easier. In addition the change should make support and expansion easier.
The development team is opening discussion to determine the path ahead for these end user libraries and accepting proposals for a new structure.
Proposal: Establish a /usr/local/blib/contrib directory to house each subsequent application’s library. This would mean relocating ‘rotator’ from the example above into the contrib folder. In addition to increase portability of blib overall they are proposing a blib.conf to reside in /usr/local/etc by default that will define certain basic installation specific entities.
Objective: To engage the community in the direction forward. Please use the comment stream to discuss options and offer counter proposals.
ABOUT THE AUTHOR: Mikel King has been a leader in the Information Technology Services field for over 20 years. He is currently the CEO of Olivent Technologies, a professional creative services partnership in NY. Additionally he is currently serving as the Secretary of the BSD Certification group as well as a Senior Editor for the BSD News Network.
Related Articles:
- Bash shell-scripting libraries ” Striving for greatness (dberkholz.com)
- Blib the bash library project (jafdip.com)
- release::Blib 1.1 and the diskcheck utility (jafdip.com)