For quite some years now, I have been using some
compile.sh scripts to setup my baseline system for each project. If happen to work in Portugal, at one of my previous employers, you might find them somewhere in
(Historical note: the
/servers nomenclature was devised between '95 and '97, either at Telenet or IP Global. It later was refined at other companies to include
/servers/workspace for specific purposes. You can still find it today at several places in Portugal, given that the *NIX/ISP environment community was pretty small at that time.)
Each compile script (I lost count of the ones I have, from Perl, Apache, mod_perl, libraries, djb-tools) downloads the version of the package that I want to use, configures, builds and installs it on a local directory. Each project has his own version of the baseline.
In the past I used to create a two user accounts for each project, named
Pbase. The first is used to keep and run all the code for said project, and the second is used to install all the dependencies.
The system has worked pretty well but I wanted to clean it up, so I coded a basic system to replace my compile scripts.
Its pretty raw, but I plan to move all my
compile.sh script to it.
I'm sure that this was already done. It has a lot of similarities with RPM or .deb packages, but this one is my own, and I can take it to whatever level I want.
If you are curious about it, you can find the code and rule sets (minimal for now) in the official repository.