SPS - The Selective Packaging System
SPS is a system that allows users to be extremely selective about what
packages are present in their environment. /usr is traditionally a
simple filesystem with packages and their versions managed by root and
root alone. With SPS, each user is able to select what packages (and
versions) are in their environment. /usr is mounted as a FUSE
filesystem which intelligently unions all of the packages the user has
requested. There is a global package list in /sps/pkgs.conf, and each
user can customize their own packages in ~/.sps/pkgs or the environment
variable $SPS_PKGS. An example of how SPS works:
~# gcc --version
-su: gcc: command not found
~# sps with gcc -- gcc --version
gcc (Debian 4.3.1-2) 4.3.1
~# sps with 'gcc < 4:4.3' -- gcc --version
gcc (GCC) 4.1.3 20080623 (prerelease) (Debian 4.1.2-23)
~# sps with 'gcc < 4:4.1' -- gcc --version
gcc (GCC) 3.3.6 (Debian 1:3.3.6-15)
SPS uses the Debian packaging system, and fetches packages with
apt-get, so installing packages is as easy as
sps install <package>.
SPS is currently extremely alpha. The source (including a binary for
x86 GNU/Linux) can be downloaded
here, and the newest version is
always available via CVS:
cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/sps co sps
Older versions:
2008-01-29
SPS is licensed under the GNU General Public License v3, and written
in the D programming language with the Tango core library.