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:
~# ls /usr/bin/gcc
ls: /usr/bin/gcc: No such file or directory
~# sps with gcc -- ls /usr/bin/gcc
/usr/bin/gcc
~# echo gcc >> .sps/pkgs
~# ls /usr/bin/gcc
/usr/bin/gcc
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
SPS is licensed under the GNU General Public License v3, and written
in the D programming language with the Tango core library.