I install non-slashpackage packages in subdirectories of
/package/misc/spf
, which I have registered for this purpose in
the slashpackage registry.
This system, called spf for short, is discussed on the
spf list. Of course, there is some overlap with
the slashpackage list as
well.
Although all packages are installed under /package/misc/spf
,
they need not all be stored on the same filesystem. See
this page for details.
While many of the ideas here remain intact, the code is being rewritten.
spftools is a work in progress, so if you've been
using sp-foreign
, you probably shouldn't stop right now, but
eventually spftools will supersede sp-foreign. sp-foreign will only be
updated for some new package versions now; all new development focuses on
spftools.
Warning: Installing packages in these non-default locations
solves some problems (easy, reliable upgrading and uninstallation; multiple
simultaneously-installed versions for testing; etc.) and creates others
(other software expecting to find these packages in their respective default
locations will fail, etc.). Read
this page and
this page and make
sure you understand the burden you are bringing on yourself before using spf.
Consider setting up symlinks in the default locations pointing to the
package's files via the current-version symlink. sp-foreign
does this for you in some cases. Do not ask package authors
to automatically look for dependencies in spf locations; making this work is
our problem, not theirs.
Also, a general warning for building a system completely from source: you might not be binary-compatible with, say, RedHat, so you would not be able to install RedHat's binary RPMs. You'll be limited to software that you can compile yourself.
This project is intended to provide a more-or-less complete OS distribution. (Though you should also be able to use it to install individual packages on traditional systems; e.g., I've used it to install openssh and its dependencies on Solaris.) spf happens to not repackage the original sources; it consists only of the additional scripting needed to install packages in this style. This project will almost certainly never be as full-featured as other OSes: ideally, the packages' authors would convert their packages to slashpackage before we do, and packages that are distributed in slashpackage style are not included in this project. This does not mean that they are not considered useful, but this project is only concerned with the "leftover" pieces that are needed to make a working system.
Feel free to ask authors to distribute their packages in slashpackage style themselves, but be warned that you will likely meet with resistance. Possibly the best approach to bring slashpackage to the world would be to add functionality to the GNU autotools to make it easy to produce both slashpackage and non-slashpackage tarballs. Then other packages will have a much easier time converting, and can continue to distribute traditional-style tarballs as well.
Eventually, I will clean up my boot loader configuration, boot/shutdown scripts, etc., and publish them either as part of this project or separately. If you're planning to install a complete spf system, you'll have to fill in the gaps yourself for now. Some of the missing pieces are available here and here.
Aside from a few patches below, I do not provide updates for security-related or other problems in particular packages. The packages' own maintainers are responsible for their quality. You can read bugtraq yourself. If someone else wants to take on the task of releasing patched sources in a more timely fashion than the packages' own maintainers do, then that is a project that would cooperate well with spf (and with other distributions; factoring is good design). Of course, the Right Way is to get the packages' own maintainers to release updates more promptly.
I do not provide binaries. If someone else wants to take on that task, then that is a project that would cooperate well with spf. Some binaries are available at http://spf.relaxism.com/.
My own systems are completely spf. If you'd like to set up your systems the same way, but you need packages that are not included in spf, you can request that they be included. I don't promise that I will include every request, but I will try to make spf a generally useful system.
These tools use environment variables to configure certain parameters.
$SPF_PREFIX
specifies the directory that
contains the package installation directories; it defaults to
$SP_ROOT/package/misc/spf
in both the gcc wrapper and
sp-foreign
. $SPF_PREFIX
may be dropped in the
future; $SP_ROOT
is the recommended way to configure the
path.
$SPF_CONF
specifies the path of a
package-specific directory where symlinks to dependencies are created.
It is used by the gcc wrapper. sp-foreign
sets it to
$SPF_PREFIX/<package>-<version>/spf
. If you
want to link to your spf installation of glibc, you must set this
variable yourself when installing non-spf packages; for example:cd /package/admin/daemontools-0.76 SPF_CONF="$PWD/spf" package/compile
sp-install
does this
for you automatically.
If you install your C library or gcc with spf, you'll need a
wrapper for gcc to find libc and libgcc.so when compiling
other packages. This will be needed in order to build any
package including C code, not just spf packages (for libc, anyway; not all
packages need libgcc.so). If no libc is found in $SPF_PREFIX
,
the wrapper will not modify the gcc invocation to find different libc files,
and gcc will therefore use the libc files found in the traditional places:
/lib
, /usr/lib
, and /usr/include
. For
now, you can install the wrapper manually as
/package/misc/spf/spf/wrapper/gcc
and make a symlink to it in
/command
. It should be found first in $PATH by the names gcc,
g++, c++, cc, cpp, g77, gcj, and the corresponding target-specific names
(i686-pc-linux-gnu-*, etc.). I don't know whether any wrapping is needed
for other programs. The wrapper notices certain environment variables, in
addition to the two described above:
SPF_LIBC
: set this to "glibc
" (the
default) or "dietlibc
" (not well tested) to
specify which libc to use. (I do not recommend using
"diet gcc
" directly when gcc
is
this wrapper; use
"env SPF_LIBC=dietlibc gcc
" instead.)
SPF_GCC
: set this to the path of a gcc
installation to use one other than /package/misc/spf/gcc
.
SPF_GCC_GCCLIB
: set this to any value to indicate that
gcc
's lib/
directory should be included in the
runtime search path for the programs being compiled. This is needed if
the programs use libgcc.so
, libstdc++.so
, etc.
SPF_GCC_DEBUG
: set this to any value to make the wrapper
log its activity to descriptor 3. This will show the changes made by the
wrapper to the command line arguments and environment variables.
SPF_GCC_CFLAGS
: set this to any arguments you want to add
to the end of the gcc
command line. This is intended for
user customization; programs should not mangle it. It is used for
g77
and gcj
invocations as well as
gcc
and g++
, so it is not the best place for
C-specific -I
flags, etc. (But most packages don't use
g77
or gcj
.)
sp-foreign
The sp-foreign
program
(compressed) builds and installs
particular packages. The packages' sources and a few patches are
mirrored here. For now, you can
install it manually as /package/misc/spf/spf/command/sp-foreign
and make a symlink to it in /command
.
You can use sp-foreign
to install just individual packages, or
to install/replace a complete system. To install a complete spf system over
an existing system, start by installing binutils.
(You may have to install m4, bison,
and flex first if the system doesn't already have them.)
Do not use the gcc wrapper yet, or if you do, remember to set
$SPF_GCC
to the path to your existing gcc installation prefix.
As you install each package, set the current-version symlink (e.g., with
sp-version
), make symlinks
to its commands in /command
(e.g., with
sp-links
), and make sure
/command
occurs before other systemwide directories in your
$PATH
. Next, install gcc. Once this gcc is
installed, you can arrange for the wrapper to be found first in
$PATH
, and you can skip setting $SPF_GCC
when
installing further packages, unless you specifically want to use a different
gcc installation. Next install
linux-libc-headers and
tzdata, and then glibc. Now the
gcc wrapper script will find this glibc, so install new copies of the
packages you've installed so far other than glibc (setting
$SPF_BUILD
to create new installations instead of overwriting
the old installations), to have them linked to your new glibc, starting with
gcc and then binutils. Continue on with whichever packages you want.
Eventually, I might provide more automated first-time installation tools, but for now, to install spf on a new system, it helps to install a different system first, just as with Linux from Scratch. (Another approach would be to boot the new system from a floppy and copy binaries from an existing spf system.)
If you want the root filesystem to be, say, ReiserFS, but the first system
(I'll call it the "bootstrap" system) installer doesn't allow you
to create and boot from that kind of filesystem, I suggest putting the
bootstrap system on a different filesystem from the one that will later be
the spf root filesystem. For example, I just set up a new system doing this.
I planned to have four filesystems: one for root, one for packages, one for
logs/queues/etc., and one for home directories. I organize my filesystems
using /fs
. First I installed Red Hat; I
set up the partitions the way I want them on the spf system, but I installed
Red Hat on the home filesystem instead of root. Then, on the home
filesystem, I created a /fs
hierarchy containing the following
entries: spf-root
, pkgs
, and logs
. I
set up symlinks in the Red Hat root directory pointing to directories on the
other filesystems: command
and package
pointing
into the pkgs
filesystem, and slash
pointing into
the spf-root
filesystem. Then I installed packages normally.
When I had enough installed in the spf system, I rebooted into it, using the
spf root as the root filesystem. Then I remade the home filesystem as
ReiserFS, overwriting the Red Hat system.
The versions you choose for basic development tools are important. Major upgrades often do not keep binary compatibility. glibc should be built by approximately the same versions of gcc and binutils that you will use for everything else; that is why you should install gcc and binutils first. But gcc assumes to some degree (via fixincludes, if nothing else) that it will build software using the same libc that it was built with; that is why gcc should be reinstalled first after glibc. And presumably, you will delete your old glibc (and everything else) after you've installed a complete spf system; that is why you should reinstall everything after installing glibc.
It is possible to upgrade a whole system to new major versions of the basic
development tools without any interruption of service, by manipulating the
per-package spf/*
symlinks in the old packages to point to
specific versions of all dependencies.
(sp-freeze
can help with
that.) Then the new packages can be installed, starting with
binutils/gcc/glibc/gcc/binutils again. The current-version symlinks will be
updated as each new package is installed, but the old copies of other
packages will still use the old versions of their dependencies. After all
packages have been reinstalled, the old copies can be removed.
After you install a complete system in /package
, you can remove
your old system components. My systems have just a few files left in the
traditional locations. /bin
and /sbin
exist for
compatibility as symlinks to /command
. /usr
is a
symlink to /
. /local
(normally accessed via the
/usr
symlink) contains bin
and sbin
as
symlinks to /command
. The following files remain as in a
traditional GNU/Linux system: /dev
, /etc/fstab
(or not), /etc/group
,
/etc/leapsecs.dat
, /etc/modules.conf
for kernel 2.4
systems (which include
s
/package/misc/spf/linux/modules.conf
), /etc/mtab
(a
symlink to /proc/mounts
), /etc/nsswitch.conf
,
/etc/passwd
, /etc/protocols
(a symlink to a file
from iana-etc), /etc/resolv.conf
,
/etc/services
(a symlink to a file from
iana-etc), /etc/shadow
,
/etc/shells
, /home
, /proc
(sort of), /tmp
,
/var/log/wtmp
, and /var/run/utmp
.
sp-foreign
Example use: sp-foreign gcc 2.95.3 --enable-languages=c,c++
The first two arguments are the package name and version, used to construct
the installation prefix and find the source directory. The remaining
arguments, if any, are passed to the package's build system in some way
specific to the package. The interpretation of those remaining arguments may
change in the future on a per-package basis; this is not entirely stable yet.
You may want to save a copy of this page for reference along with the script
itself. $CPPFLAGS
, $CFLAGS
, and
$LDFLAGS
are passed to each package's build system, when
possible, along with the flags sp-foreign
itself provides. The
intent is that the flags you specify should override those provided by
sp-foreign
.
sp-foreign
will look for the package sources in the directory
that the package's tarball unpacks into (typically
"./<package>-<version>
") and install the
package in
$SPF_PREFIX/<package>-<version>$SPF_BUILD
.
$SPF_BUILD
must be used to differentiate between different
installations of the same version, if you have more than one such
installation at the same time (e.g., with different compile-time
configurations); you cannot generally reinstall over an existing
installation. The source directory is expected to be clean: possibly
patched, but not yet built. The installation prefix is expected to be empty
or nonexistent.
Although $SPF_PREFIX
will probably be owned by root, you can
install most packages as a non-root user by creating the package's directory
as root and changing its ownership to the non-root user before running
sp-foreign
. Afterwards, you can change the ownership of the
whole package back to root. Beware that programs which are normally setuid
root may be installed with or without the setuid bit if installed as a
non-root user.
sp-foreign
notices certain environment variables. If
$SPF_BARE
is set, then some stripping-down configuration options
are used for certain packages, noted below. If $SPF_NO_NLS
is
set, then NLS support is disabled in packages that support it. If
$SPF_COMPAT
is set to "n
", then
sp-foreign
will not create compatibility symlinks such as
/var/qmail
or /usr/local/bglibs
.
When package X-1.0 uses absolute compile-time paths to find files belonging
to package Y, a symlink is created as $SPF_PREFIX/X-1.0/spf/Y
pointing to $SPF_PREFIX/Y
(unless such a symlink already
exists), and X is configured to use Y via the symlink in its spf directory.
You can change this symlink even after installation if you want to make X use
a different installation of Y. If you want to use an installation of Y
somewhere other than $SPF_PREFIX
, you can create a symlink in
$SPF_PREFIX/X-1.0/conf/
pointing to Y's installed prefix, before
running sp-foreign
, so sp-foreign
can find it when
installing X. (This is an exception to the expectation that the installation
prefix directory should be initially empty.)
If you set $SP_IGNORE_TEST_FAIL=y
and the package's tests fail,
then sp-foreign
will print a warning but exit successfully.
(Normally, sp-foreign
would exit nonzero to indicate failure.)
This is useful when scripting a large number of package installations, and
you want to abort for installation errors but not test failures.
This table shows the package versions that sp-foreign
was
developed for. (If you know of newer versions, please let me know. I
subscribe to announcement lists when they exist, but sometimes they don't.)
Hopefully, future versions won't break sp-foreign
, but they
might. Before using this script, you should probably review the
configuration options it uses, in case you want to use different options.
There may also be preliminary/untested support for some packages not listed
here. Others have also written build scripts for sp-foreign
:
To install packages whose build scripts are not included directly in
sp-foreign
, set $SP_FOREIGN_DIR
to a directory
containing the extra scripts.
Package name | Tested versions | Notes |
---|---|---|
a52dec | 0.7.4 | Extra arguments are passed to ./configure . |
acpid | 1.0.4, 1.0.3 | Extra arguments are passed to make . |
agrep | 2.04 | Extra arguments are passed to make . |
alsa-lib | 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.2, 1.0.1, 0.9.6 | Extra arguments are passed to ./configure . |
alsa-utils | 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.2, 1.0.1, 0.9.6 | Extra arguments are passed to ./configure . Requires
alsa-lib and ncurses. |
antiword | 0.36.1, 0.35, 0.33 | Extra arguments are passed to make . |
atk | 1.10.1, 1.8.0, 1.6.1, 1.6.0, 1.2.4 | Extra arguments are passed to ./configure . Requires
glib. |
audiofile | 0.2.6, 0.2.4 | Extra arguments are passed to ./configure . |
aumix | 2.8 | Extra arguments are passed to ./configure . Requires
ncurses. Uses gpm if it is
installed. |
autoconf | 2.60, 2.59, 2.58, 2.57, 2.54, 2.53, 2.52 | Extra arguments are passed to ./configure . |
automake | 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9, 1.8.5, 1.8.4, 1.8.3, 1.8.2, 1.8, 1.7.9, 1.7.8, 1.7.7, 1.7.6, 1.7.5, 1.7.4, 1.7.3, 1.7.2, 1.7.1, 1.7, 1.5 | Extra arguments are passed to ./configure . |
autotrace | 0.31.1 | Extra arguments are passed to ./configure . Requires
imagemagick, libpng,
xfree86, and zlib. |
bash | 3.1, 3.0, 2.05b | Extra arguments are passed to ./configure . Requires
ncurses and readline. |
bc | 1.06 | Extra arguments are passed to ./configure . Requires
flex 2.5.4a for compilation. Uses
ncurses and readline if
available. |
bglibs | 1.041, 1.040, 1.031, 1.028, 1.027, 1.026, 1.024, 1.023, 1.022, 1.021, 1.020, 1.019, 1.018, 1.017, 1.016, 1.015, 1.011, 1.010, 1.009, 1.008, 1.006, 1.005, 1.002 | Extra arguments are ignored. |
bin86 | 0.16.17, 0.16.16, 0.16.13, 0.16.10, 0.16.5 | Extra arguments are passed to make . |
bincimap | 1.2.13final, 1.2.12final, 1.2.11final, 1.2.10final, 1.2.9final, 1.2.8final, 1.2.7final, 1.2.5, 1.2.3 | Extra arguments are passed to ./configure . Requires
zlib. Uses openssl if it is
installed. |
binutils | 2.17, 2.16.1, 2.16, 2.15, 2.14, 2.13.2.1, 2.13 | Extra arguments are passed to ./configure . Requires
flex for installation. |
bison | 2.3, 2.2, 2.1, 2.0, 1.875b, 1.875, 1.50, 1.35 | Extra arguments are passed to ./configure . Requires
m4 and possibly flex for
installation. |
bochs | 2.1.1, 2.1 | Extra arguments are passed to ./configure . Requires
xfree86. Uses ncurses,
readline, and zlib if they
are installed. |
bochs-tools | 1.6.4 | Extra arguments are passed to make . |
bzip2 | 1.0.2 | If the first extra argument is shared , shared libraries
will be built. Further extra arguments are ignored. |
cabextract | 1.1, 1.0, 0.6 | Extra arguments are passed to ./configure . |
cdb | 0.75 | Extra arguments are ignored. |
cdparanoia | 3-alpha9.8 | Extra arguments are passed to ./configure . |
cdrtools | 2.01, 2.00.3, 2.0, 1.10 | Extra arguments are ignored. Requires smake for compilation. |
check | 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.4 | Extra arguments are passed to ./configure . |
checkpassword | 0.90 | Extra arguments are ignored. |
clamav | 0.88.4, 0.88.3, 0.88.2, 0.88.1, 0.88, 0.87.1, 0.87, 0.86.2, 0.86.1, 0.86, 0.85.1, 0.85, 0.84, 0.83, 0.82, 0.81, 0.80, 0.75.1, 0.75, 0.74, 0.73, 0.72, 0.71, 0.70 | Extra arguments are passed to ./configure . Requires
zlib. Uses bzip2 if it is
installed. |
clockspeed | 0.62 | Extra arguments are ignored. |
compface | 1.5.1, 1.4 | Extra arguments are passed to ./configure . |
coreutils | 5.97, 5.96, 5.95, 5.94, 5.93, 5.92, 5.2.1, 5.2.0 | Extra arguments are passed to ./configure . |
courier-imap | 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.2.1, 2.2.0, 2.1.2, 2.1.1, 2.1.0, 2.0.0, 1.7.3, 1.7.1 | Extra arguments are passed to ./configure . Requires
gdbm and openssl. |
cpio | 2.6, 2.5 | Extra arguments are passed to ./configure . |
cups | 1.1.23, 1.1.22, 1.1.21, 1.1.20 | Extra arguments are passed to ./configure . Uses
jpeg, libpng,
openssl, tiff, and
zlib. |
curl | 7.15.1, 7.14.0, 7.13.2, 7.13.1, 7.13.0, 7.12.3, 7.12.2, 7.12.1, 7.12.0, 7.11.2, 7.11.1, 7.11.0, 7.10.8, 7.10.3, 7.9.2 | Extra arguments are passed to ./configure . Requires
openssl and zlib. |
cvm | 0.76, 0.75, 0.71, 0.60, 0.50, 0.33, 0.32, 0.31, 0.30, 0.20, 0.18, 0.17, 0.16, 0.15 | Extra arguments are ignored. |
cvs | 1.11.20, 1.11.19, 1.11.18, 1.11.17, 1.11.16, 1.11.15, 1.11.14, 1.11.13, 1.11.12, 1.11.11, 1.11.10, 1.11.9, 1.11.8, 1.11.7, 1.11.6, 1.11.5, 1.11.4 | Extra arguments are passed to ./configure . |
cyrus-sasl | 2.1.22, 2.1.21, 2.1.19, 2.1.18, 2.1.17, 2.1.15, 2.1.14, 2.1.13, 2.1.12 | Extra arguments are passed to ./configure . Requires
db and openssl. |
db | 4.4.20, 4.4.16, 4.3.29, 4.3.28, 4.3.27, 4.3.21, 4.2.52, 4.1.25, 4.0.14, 3.3.11 | Extra arguments are passed to ./configure . |
dd-rescue | 1.11, 1.10 | Extra arguments are passed to make . |
device-mapper | 1.01.01, 1.01.00, 1.00.19 | Extra arguments are passed to ./configure . |
dhcp | 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0pl2 | Extra arguments are appended to site.conf . |
dhcpcd | 1.3.22-pl4, 1.3.22-pl1 | Extra arguments are passed to ./configure . |
dietlibc | 0.28, 0.27, 0.25, 0.24, 0.23, 0.22, 0.21, 0.17 | Extra arguments are passed to make . CFLAGS ,
etc., are not handled. I don't use dietlibc because it doesn't allow the
system clock to be TAI, and it delberately breaks compatibility by
requiring extra link arguments such as -lcompat that are not
needed with other libcs. |
diffstat | 1.38, 1.37, 1.34 | Extra arguments are passed to ./configure . |
diffutils | 2.8.1, 2.8 | Extra arguments are passed to ./configure . |
distcc | 2.18.3, 2.18.2, 2.18, 2.17, 2.14, 2.13, 2.12.1, 2.12, 2.11.2 | Extra arguments are passed to ./configure . Requires
popt. |
djbdns | 1.05 | Extra arguments are ignored. |
dosfstools | 2.10, 2.8 | Extra arguments are passed to make . |
e2fsprogs | 1.38, 1.37, 1.36 | Extra arguments are passed to ./configure . |
ed | 0.2 | Extra arguments are passed to ./configure . |
egd | 0.9 | Extra arguments are passed to Makefile.PL . |
elvis | 2.1_4 | Extra arguments are passed to ./configure . Requires
ncurses. |
emacs | 21.4 (leim 21.3), 21.3, 21.2 | Extra arguments are passed to ./configure .
On some system other than GNU/Linux, $LDFLAGS may be used
for linking both with gcc and with ld directly. Requires
jpeg, libpng,
libungif, ncurses,
tiff, xfree86, and
zlib. |
ettercap | 0.6.b | Extra arguments are passed to ./configure . Uses
atk, glib, gtk+,
ncurses, openssl,
pango, and xfree86 if they
are installed. |
expat | 2.0.0, 1.95.8 | Extra arguments are passed to ./configure . Requires
check if you want to run the tests. |
expect | 5.39.0 | Extra arguments are passed to ./configure . Requires
tcl, tk, and
xfree86. |
ezmlm-idx | ezmlm 0.53 (idx 0.443, 0.442, 0.441, 0.440, 0.435, 0.434, 0.421, 0.40) | Extra arguments are passed to make . Requires
qmail. Sources are found in
./ezmlm-0.53/ and ./ezmlm-idx-<version>/ . |
fam | 2.6.10 | Extra arguments are passed to ./configure . |
fftw | 3.1.2, 3.1.1, 3.1, 3.0.1, 2.1.5 | Extra arguments are passed to ./configure . |
file | 4.16, 4.13, 4.12, 4.10, 4.09, 4.08, 4.07, 4.05 | Extra arguments are passed to ./configure . Uses
zlib if it is installed. |
fileutils | fileutils has been subsumed by coreutils. | |
findutils | 4.2.28, 4.2.27, 4.2.26, 4.2.25, 4.2.23, 4.2.20, 4.2.18, 4.2.15, 4.1.20, 4.1.7, 4.1 | Extra arguments are passed to ./configure . |
firefox | 1.5.0.6 1.5.0.5, 1.0.6, 1.0.3, 1.0.2, 1.0.1, 1.0, 1.0rc1, 0.10.1 | Extra arguments are passed to ./configure . Sources are
found in ./mozilla . Requires glib,
gtk+, jpeg,
libidl, libpng,
xfree86, and zlib. If you use
gtk+ 2.*, then atk and pango are
also required, and fontconfig and
freetype are used if they are installed. So far,
firefox always crashes at startup for me. |
flac | 1.1.0 | Extra arguments are passed to ./configure . Uses
libogg if it is installed. |
flash-player | 7.0.25.0 | Extra arguments are ignored. To make the plugin visible to Mozilla,
create symlinks in
$SPF_PREFIX/mozilla-data/lib/spf-current/plugins/ pointing
to the files in $SPF_PREFIX/flash-player/plugins/ . |
flex | 2.5.31, 2.5.4a | Extra arguments are passed to ./configure . Requires
bison for installation. |
fltk | 1.1.7, 1.1.6, 1.1.5, 1.1.4 | Extra arguments are passed to ./configure . Requires
xfree86. Uses jpeg,
libpng, and zlib if they are
installed. |
fluxbox | 0.9.15.1, 0.9.14, 0.9.13, 0.9.11, 0.9.10, 0.1.14 | Extra arguments are passed to ./configure . Requires
xfree86. |
fluxter | 0.1.0 | Extra arguments are passed to ./configure . Requires
xfree86. |
fnord | 1.9, 1.8, 1.7, 1.5 | Extra arguments are passed to make .
dietlibc is not used by default; set
SPF_LIBC=dietlibc to use it. |
fontconfig | 2.3.2, 2.2.3, 2.2.2, 2.2.1 | Extra arguments are passed to ./configure . Requires
expat and freetype, as
well as zlib if freetype was built with zlib. |
fontforge | 20040703 | Extra arguments are passed to ./configure . Uses
jpeg, freetype,
libungif, libpng,
libxml2, tiff,
xfree86, and zlib if they are
installed. |
freetype | 2.1.10, 2.1.9, 2.1.7, 2.1.5 | Extra arguments are passed to ./configure . Uses
zlib if it is installed. There were some API changes
after 2.1.5 that some dependent packages have not yet caught up with, so
I still use 2.1.5. |
gaim | 1.0.0, 0.82.1, 0.81, 0.79 0.78, 0.76, 0.74 | Extra arguments are passed to ./configure . Requires
atk,
freetype,
fontconfig,
glib,
gtk+,
jpeg,
libpng,
pango,
tiff,
xfree86,
and zlib. Uses
audiofile,
gnutls,
libao,
and libgcrypt if they are installed.
|
gawk | 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1 | Extra arguments are passed to ./configure . |
gcc | 4.1.1, 4.0.3, 4.0.2, 4.0.1, 4.0.0, 3.4.6, 3.4.5, 3.4.4, 3.4.3, 3.4.2, 3.4.1, 3.4.0, 3.3.6, 3.3.5, 3.3.4, 3.3.3, 3.3.2, 3.3.1, 3.2.3, 3.1.1, 2.95.3 | Extra arguments are passed to ./configure . Sources
are found in ./gcc-<version>/ , but built in
./gcc-<version>-build/ (which must not exist
previously).
Uses binutils if it is installed.
I use the latest version for most purposes, and 2.95.3 for
building the kernel. Note that C++ programs and libraries must all be
built with approximately the same compiler version to work together.
Recent versions of gcc require GNU make for
compilation. After installing gcc in /package/misc/spf ,
you'll also need the gcc wrapper script in
order to use your new gcc installation. |
gd | 2.0.28, 2.0.15 | Extra arguments are passed to ./configure . Requires
jpeg, libpng, and
zlib. Uses xfree86 if it is
installed. |
gdb | 6.5, 6.4, 6.3, 6.2.1, 6.2, 6.1.1, 6.1, 6.0, 5.3 | Extra arguments are passed to ./configure . Requires
ncurses. |
gdbm | 1.8.3, 1.8.0 | Extra arguments are passed to ./configure . |
getmail | 4.6.3, 4.6.2, 4.6.1, 4.6.0, 4.5.4, 4.5.3, 4.5.2, 4.5.1, 4.5.0, 4.4.4, 4.4.3, 4.4.2, 4.4.1, 4.4.0, 4.3.14, 4.3.13, 4.3.12, 4.3.11, 4.3.10, 4.3.9, 4.3.8, 4.3.6, 4.3.5, 4.3.4, 4.3.3, 4.3.2, 4.3.1, 4.3.0, 4.2.6, 4.2.5, 4.2.4, 4.2.3, 4.2.2, 4.2.1, 4.2.0 | Extra arguments are ignored. |
gettext | 0.14.4, 0.14.1, 0.13.1, 0.13, 0.12.1, 0.12 | Extra arguments are passed to ./configure . Uses
expat if it is installed. |
ghostscript | 8.31, 8.15, 8.14, 8.13, 8.12, 8.11 | Extra arguments are passed to ./configure . Requires
ghostscript-fonts,
jpeg, libpng, and
zlib. Uses xfree86 if it is
installed. |
ghostscript-fonts | 8.11-6.0, 6.0-6.0 | Extra arguments are ignored. Files are found in
./fonts/ . Each spf version is a combination of one
"std" version together with one "other" version. |
ghostview | 1.5 | Extra arguments are passed to make . |
glib | 2.6.5, 2.6.3, 2.4.8, 2.4.6, 2.4.5, 2.4.0, 2.2.3, 2.2.2, 1.2.10 | Extra arguments are passed to ./configure . Some other
packages require version 1.2.10. |
glibc | 2.3.6 (libidn, linuxthreads), 2.3.5 (libidn, linuxthreads), 2.3.4 (libidn, linuxthreads), 2.3.3 (linuxthreads), 2.3.2 | Extra arguments are passed to ./configure . Requires
linux-libc-headers, or for pre-2.5
kernels, linux at compile time. Requires
tzdata. After the first installation, you should
fix the $SPF_PREFIX/glibc-data/etc/localtime symlink to
point to your correct time zone. To compile and link programs using this
glibc, you'll also need the gcc wrapper
script; the script also requires that you first install
gcc in /package/misc/spf . |
gmp | 4.2, 4.1.4, 4.1.3, 4.1.2 | Extra arguments are passed to ./configure . |
gnus | 5.10.6, 5.10.1 | Extra arguments are passed to ./configure . Uses
w3 if it is installed. |
gnuplot | 4.0.0 | Extra arguments are passed to ./configure . Requires
zlib. Uses freetype,
gd, libpng,
ncurses, readline, and
xfree86 if they are installed. |
gnutls | 1.4.1, 1.4.0, 1.2.10, 1.2.9, 1.2.8, 1.2.7, 1.2.6, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.0.23, 1.0.21, 1.0.20, 1.0.19, 1.0.16, 1.0.14 | Extra arguments are passed to ./configure . Requires
libcfg+, libgcrypt,
libgpg-error, opencdk,
and zlib. Uses libtasn1 and
lzo if they are installed. |
gperf | 3.0.1 | Extra arguments are passed to ./configure . |
gpm | 1.20.1 | Extra arguments are passed to ./configure . Uses
ncurses if it is installed. |
grep | 2.5.1 | Extra arguments are passed to ./configure . |
groff | 1.19.1, 1.19, 1.18.1, 1.18 | Extra arguments are passed to ./configure . 1.18 and later
versions use terminal escape sequences; add -R to
$LESS to make man pages readable. |
grub | 0.97, 0.96, 0.95, 0.94 | Extra arguments are passed to ./configure . Uses
ncurses if it is installed. |
gtk+ | 2.6.9, 2.6.4, 2.4.14, 2.4.10, 2.4.9, 2.4.4, 2.4.0, 2.2.4, 2.2.2, 1.2.10 | Extra arguments are passed to ./configure . Requires
glib and xfree86. Versions
newer than 1.2.10 also require atk,
jpeg, libpng,
pango, tiff, and
zlib, and use fontconfig
and freetype if they are installed. Some other
packages require version 1.2.10. |
guile | 1.8.0, 1.6.8, 1.6.7, 1.6.6, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.4.1 | Extra arguments are passed to ./configure . Uses
ncurses and readline if
they are installed. |
gv | 3.6.1, 3.6.0 | Extra arguments are passed to ./configure . Requires
xfree86. |
gzip | 1.3.5 (gzipped, uncompressed) | Extra arguments are passed to ./configure . |
hdparm | 5.9, 5.8, 5.7, 5.6, 5.5, 5.4, 5.3 | Extra arguments are passed to make . |
help2man | 1.35.1, 1.33.1 | Extra arguments are passed to ./configure . |
iana-etc | 1.04, 1.03, 1.02, 1.01 | Extra arguments are passed to make . |
imagemagick | 6.2.3-6, 6.1.4-4, 6.0.8-1, 6.0.1-3, 6.0.0-4 | Extra arguments are passed to ./configure . Sources
are found in ./ImageMagick-<version> . Requires
bzip2,
ghostscript-fonts,
jpeg, libpng,
libxml2, tiff,
xfree86, and zlib. |
inetutils | 1.4.2 | Extra arguments are passed to ./configure . Requires
ncurses and zlib. |
intlfonts | 1.2.1, 1.2 | Extra arguments are passed to ./configure . |
iptables | 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0 | Extra arguments are passed to make . |
iptraf | 2.7.0 | Extra arguments are passed to make . Requires
ncurses. |
jabberd | 2.0s4 | Extra arguments are passed to ./configure . Uses
cyrus-sasl, libidn,
openldap, and openssl if
they are installed. |
jbigkit | 1.6, 1.4 | Extra arguments are passed to make . |
jfsutils | 1.1.7, 1.1.4 | Extra arguments are passed to ./configure . Requires
e2fsprogs. |
jmk-x11-fonts | 3.0 | Extra arguments are ignored. |
joe | 3.2, 3.1, 3.0, 2.9.8 | Extra arguments are passed to ./configure . Requires
ncurses. |
jpeg | 6b | Extra arguments are passed to ./configure . |
kbd | 1.12, 1.11 | Extra arguments are passed to make . |
lame | 3.96.1, 3.95.1, 3.93.1, 3.93 | Extra arguments are passed to ./configure . Building with
gcc 3.0 is not recommended. Uses
glib, gtk+,
ncurses, and xfree86 if
they are installed. |
less | 382, 381, 378, 358 | Extra arguments are passed to ./configure . Requires
ncurses. |
lesspipe | 1.44, 1.43, 1.42, 1.41, 1.37 | Extra arguments are passed to ./configure . |
lesstif | 0.94.4, 0.94.0, 0.93.97, 0.93.96, 0.93.94 | Extra arguments are passed to ./configure . Requires
flex and xfree86. Uses
freetype, fontconfig,
and zlib if they are installed. |
lftp | 3.2.1, 3.2.0, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.13, 3.0.12, 3.0.11, 3.0.9, 3.0.8, 3.0.7, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.6.12, 2.6.11, 2.6.10, 2.6.9, 2.6.8 | Extra arguments are passed to ./configure . Requires
ncurses, openssl, and
readline. |
libao | 0.8.6, 0.8.5, 0.8.4 | Extra arguments are passed to ./configure . |
libcap | 1.10 | Extra arguments are passed to make . |
libcfg+ | 0.6.2 | Extra arguments are passed to ./configure . |
libdockapp | 0.5.0 | Extra arguments are passed to ./configure . Requires
xfree86. |
libdvdcss | 1.2.8, 1.2.5, 1.2.4, 1.2.2 | Extra arguments are passed to ./configure . |
libdvdnav | 0.1.10 | Extra arguments are passed to ./configure . |
libdvdread | 0.9.5, 0.9.4 | Extra arguments are passed to ./configure . |
libgcrypt | 1.2.2, 1.2.1, 1.2.0, 1.1.94, 1.1.91 | Extra arguments are passed to ./configure . Requires
libgpg-error. |
libglade | 2.4.2, 2.4.1, 2.4.0, 2.3.6 | Extra arguments are passed to ./configure . Requires
atk, glib,
gtk+, libxml2,
pango, and zlib. |
libgpg-error | 1.3, 1.2, 0.7, 0.6 | Extra arguments are passed to ./configure . |
libid3tag | 0.15.1b, 0.15.0b | Extra arguments are passed to ./configure . Requires
zlib. |
libidl | 0.8.6, 0.8.5, 0.8.4, 0.8.3, 0.8.2, 0.6.8 | Extra arguments are passed to ./configure . Sources are
found in ./libIDL-<version> . Requires
flex and glib. |
libidn | 0.6.0, 0.5.19, 0.5.15, 0.5.13, 0.5.12, 0.5.11, 0.5.10, 0.5.8 | Extra arguments are passed to ./configure . |
libmad | 0.15.1b, 0.15.0b | Extra arguments are passed to ./configure . |
libogg | 1.1.2, 1.1, 1.0 | Extra arguments are passed to ./configure . |
libpcap | 0.9.4, 0.8.3, 0.8.1, 0.7.1 | Extra arguments are passed to ./configure . |
libpng | 1.2.8, 1.2.7, 1.2.6, 1.2.5 | The first extra arguments identifies the makefile to use, defaulting to
a guess based on your system type, or std . Further
arguments are passed to make . Requires
zlib. |
libtasn1 | 0.3.4, 0.2.18, 0.2.17, 0.2.14, 0.2.13, 0.2.10, 0.2.7, 0.2.6 | Extra arguments are passed to ./configure . |
libtool | 1.5.22, 1.5.20, 1.5.18, 1.5.16, 1.5.12, 1.5.10, 1.5.8, 1.5.6, 1.5.4, 1.5.2, 1.5, 1.4.3, 1.4.2 | Extra arguments are passed to ./configure . |
libungif | 4.1.4, 4.1.3 | Extra arguments are passed to ./configure . |
libvorbis | 1.1.1, 1.0.1, 1.0 | Extra arguments are passed to ./configure . Requires
libogg. |
libxml2 | 2.6.23, 2.6.20, 2.6.17, 2.6.16, 2.6.15, 2.6.14, 2.6.13, 2.6.11, 2.6.10, 2.6.9, 2.6.7, 2.6.6, 2.6.4, 2.5.1, 2.4.28, 2.4.24 | Extra arguments are passed to ./configure . Requires
ncurses, readline, and
zlib. |
lilo | 22.7.1, 22.7, 22.6.1, 22.6, 22.5.9, 22.5.8, 22.5.7.2, 22.5.7, 22.5.6, 22.5.5, 22.5.4, 22.5.3, 22.5.2, 22.5.1, 22.5 | Extra arguments are passed to make . Requires
bin86 and nasm for
compilation. Cannot be built with gcc 3 up to 3.2; use 2.95.3 or 3.2.1
or newer. |
lilypond | 2.2.6, 2.2.5, 2.0.1, 2.0.0, 1.8.2, 1.8.1, 1.8.0 | Extra arguments are passed to ./configure . Requires
flex 2.5.31, guile,
mftrace (including its runtime dependencies),
python, and tetex. |
links | 2.1pre15, 2.1pre14, 2.1pre13, 2.1pre7, 2.1pre3 | Extra arguments are passed to ./configure . Requires
libpng, jpeg,
tiff, openssl,
xfree86, and zlib. |
linux | 2.6.17.10, 2.6.17.9, 2.6.17.8, 2.6.17.7, 2.6.17.6, 2.6.17.1, 2.6.16.20, 2.6.15.6, 2.6.15.5, 2.6.15.4, 2.6.15.3, 2.6.15.2, 2.6.15.1, 2.6.15, 2.6.14.5, 2.6.14.4, 2.6.14.3, 2.6.14.2, 2.6.14.1, 2.6.14, 2.6.13.4, 2.6.13.3, 2.6.13.2, 2.6.13.1, 2.6.13, 2.6.12.6, 2.6.12.5, 2.6.12.4, 2.6.12.3, 2.6.12.2, 2.6.12.1, 2.6.12, 2.6.11.12, 2.6.11.11, 2.6.11.10, 2.6.11.9, 2.6.11.8, 2.6.11.7, 2.6.11.6 2.6.11.5, 2.6.11.4, 2.6.11.3, 2.6.11.2, 2.6.11.1, 2.6.11 2.6.10, 2.6.9, 2.6.8.1, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.4.31, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.24, 2.4.23, 2.4.22, 2.4.21, 2.4.20, 2.4.19 | The first extra argument should be one of config ,
oldconfig , menuconfig , or
xconfig , and defaults to oldconfig . Further
extra arguments are passed to make . The
*config step is interactive, except for
oldconfig when you already have a .config
file which is complete for the current kernel version. If there is no
.config file initially, but
$SPF_PREFIX/linux-data/.config-<version> or
$SPF_PREFIX/linux-data/.config exists, then that file is
copied to the build directory before make is called.
CFLAGS , etc., are not handled. menuconfig
requires ncurses. 2.4.* versions require
modutils; later versions require
module-init-tools.
Also for later versions, you can build a user-mode linux binary by
setting ARCH=um in the environment when running
sp-foreign .
If you add kernel modules to the installation later, you can update the
module dependency information by running update-modules in
$SPF_PREFIX/linux-<version>/ .
For 2.4.*, to make the dependency information visible to modprobe, add
this line to /etc/modules.conf :
include /package/misc/spf/linux/modules.confMachine-specific, version-independent module options go in /etc/modules.conf .
$SPF_PREFIX/linux/modules.conf should contain only
version-specific dependency information. For later versions,
module-init-tools is configured at compile time to find the dependency
information in the current-version kernel package. I set the
current-version symlink according to the currently running kernel in
my boot script. |
linux-libc-headers | 2.6.12.0, 2.6.11.2, 2.6.11.0, 2.6.10.0, 2.6.9.1, 2.6.8.1, 2.6.8.0, 2.6.7.0 | Extra arguments are ignored. |
lsof | 4.77, 4.76, 4.75, 4.74, 4.73, 4.72, 4.71, 4.70 | Extra arguments are passed to make . |
lvm | 2.01.09, 2.01.06, 2.01.04, 2.01.03, 2.00.32, 2.00.29, 2.00.25, 2.00.24, 2.00.20, 2.00.19, 1.0.8, 1.0.7 | Extra arguments are passed to ./configure . Version 1
looks for kernel sources in $SPF_PREFIX/src/linux , but does
not seem to require them. Version 2 requires
device-mapper and uses
ncurses and readline if
they are installed. |
lynx | 2-8-5 | Extra arguments are passed to ./configure . Requires
ncurses, openssl, and
zlib. |
lzo | 2.01, 1.08 | Extra arguments are passed to ./configure . Uses
zlib if it is installed. |
lzop | 1.01 | Extra arguments are passed to ./configure . Requires
lzo. |
m4 | 1.4.6, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4 | Extra arguments are passed to ./configure . |
maildirsync | 1.1, 1.0, 0.6 | Extra arguments are ignored. |
maildrop | 1.8.0, 1.7.0, 1.6.3 | Extra arguments are passed to ./configure . Uses
qmail and gdbm if they are
installed. |
make | 3.81, 3.80, 3.79.1 | Extra arguments are passed to ./configure . |
man | 1.6d, 1.6c, 1.6b, 1.6a, 1.6, 1.5o, 1.5m2, 1.5l, 1.5k, 1.5j | Extra arguments are ignored. |
mess822 | 0.58 | Extra arguments are ignored. Requires qmail. |
mftrace | 1.0.34, 1.0.33, 1.0.19 | Extra arguments are passed to ./configure . To run
mftrace, you need python,
t1utils, tetex, and either
autotrace or potrace.
fontforge is also recommended. |
mktemp | 1.5 | Extra arguments are passed to ./configure . |
module-init-tools | 3.2.2, 3.2.1, 3.1, 3.0 | Extra arguments are passed to ./configure . Requires
linux. |
modutils | 2.4.27, 2.4.26, 2.4.25, 2.4.24, 2.4.22, 2.4.20, 2.4.19, 2.4.16 | Extra arguments are passed to ./configure . Requires
flex version 2.5.4a for installation. |
mozilla | 1.7.6, 1.7.5, 1.7.3, 1.7.1, 1.7 | Extra arguments are passed to ./configure . Sources are
found in ./mozilla . Requires glib,
gtk+, jpeg,
libidl, libpng,
xfree86, and zlib. If you use
gtk+ 2.*, then atk and pango are
also required, and fontconfig and
freetype are used if they are installed. |
mpage | 2.5.4, 2.5.3, 2.5.2 | Extra arguments are passed to make . |
mpg123 | 0.59r | The first extra argument specifies the make
target, and defaults to a guess of your system type, or
"generic ". Further arguments are ignored.
$CFLAGS , etc., are not handled. |
mpg321 | 0.2.10 | Extra arguments are passed to ./configure . Requires
libao, libid3tag,
libmad, and zlib. |
mplayer | 1.0pre8, 1.0pre7, 1.0pre6, 1.0pre5try2, 1.0pre5 | Extra arguments are passed to ./configure . Requires
xfree86. Uses
cdparanoia, jpeg,
lame, libdvdnav,
libdvdread, libogg,
libpng, libungif,
libvorbis, libmad,
sdl, and zlib if they are
installed. |
multimedia | 2.1 | Extra arguments are passed to make . |
multitee | 3.0 | Extra arguments are ignored. |
mutella | 0.4.5 | Extra arguments are passed to ./configure . Requires
ncurses, readline, and
zlib. |
mutt | 1.4.2.2, 1.4.2.1, 1.4.2, 1.4.1 | Extra arguments are passed to ./configure . Requires
ncurses. |
naim | 0.11.8.2, 0.11.8.1, 0.11.8, 0.11.7.3.1, 0.11.7.2, 0.11.7.1, 0.11.7, 0.11.6.7, 0.11.6.6, 0.11.6.5, 0.11.6.4, 0.11.6.3 | Extra arguments are passed to ./configure . Requires
ncurses. |
nasm | 0.98.39, 0.98.38, 0.98.35, 0.98.34 | Extra arguments are passed to ./configure . |
ncurses | 5.5, 5.4, 5.3 | Extra arguments are passed to ./configure . Uses
gpm if it is installed. |
net-tools | 1.60 (patch) | Extra arguments are ignored. |
netpbm | 10.25, 10.24, 10.18.17 | Extra arguments are appended to Makefile.config . Requires
jpeg, libpng,
tiff, and zlib. |
normalize | 0.7.6 | Extra arguments are passed to ./configure . Uses
audiofile, flac,
glib, gtk+,
lame, and libmad if they are
installed. |
nullmailer | 1.01, 1.00, 1.00RC7 | Extra arguments are passed to ./configure . |
octave | 2.1.57, 2.1.52, 2.1.51 | Extra arguments are passed to ./configure . Requires
readline and ncurses.
Uses fftw if it is installed. |
ogle | 0.9.2, 0.9.1, 0.8.5 | Extra arguments are passed to ./configure . Requires
a52dec, jpeg,
libdvdcss,
libdvdread, libxml2,
libmad, xfree86, and
zlib. |
opencdk | 0.5.8, 0.5.7, 0.5.5, 0.5.4, 0.5.3 | Extra arguments are passed to ./configure . Requires
libgcrypt. Uses zlib if it
is installed. |
openldap | 2.3.27, 2.3.24, 2.3.20, 2.3.19, 2.3.17, 2.3.11, 2.2.30, 2.2.26, 2.2.24, 2.2.23, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.15, 2.1.30, 2.1.29, 2.1.28, 2.1.27, 2.1.25, 2.1.24, 2.1.23, 2.1.22, 2.1.21, 2.1.20, 2.1.19, 2.1.17, 2.1.16 | Extra arguments are passed to ./configure . Requires
db, cyrus-sasl,
openssl, readline, and
ncurses. |
openssh | 4.3p2, 4.3p1, 4.2p1, 4.1p1, 4.0p1, 3.9p1, 3.8.1p1, 3.8p1, 3.7.1p2, 3.7.1p1, 3.6.1p2, 3.6.1p1, 3.6p1 | Extra arguments are passed to ./configure . If
$SPF_BARE is set, some stripping-down
arguments are passed to ./configure . Requires
openssl and zlib. |
openssl | 0.9.7j, 0.9.7i, 0.9.7h, 0.9.7g, 0.9.7f, 0.9.7e, 0.9.7d, 0.9.7c, 0.9.7b, 0.9.7a, 0.9.7 | Extra arguments are passed to ./config . |
pango | 1.8.2, 1.8.1, 1.6.0, 1.4.0, 1.2.5, 1.2.3 | Extra arguments are passed to ./configure . Requires
glib and xfree86. Uses
fontconfig, freetype,
and zlib if they are installed. |
parted | 1.7.1, 1.7.0, 1.6.23, 1.6.22, 1.6.21, 1.6.15, 1.6.12, 1.6.11, 1.6.9, 1.6.6, 1.6.5, 1.6.4, 1.6.3, 1.4.24 | Extra arguments are passed to ./configure . Requires
e2fsprogs, ncurses,
and readline. |
patch | 2.5.8, 2.5.4 | Extra arguments are passed to ./configure . |
pciutils | 2.1.11 | Extra arguments are passed to make . |
pcre | 6.5, 6.4, 5.0, 4.5, 4.4 | Extra arguments are passed to ./configure . |
pcmcia-cs | 3.2.6, 3.2.4 | Extra arguments are passed to ./Configure . Requires
kernel sources in $SPF_PREFIX/src/linux . |
pcmciautils | 011, 010 | Extra arguments are passed to make . Requires
sysfsutils. |
pdksh | 5.2.14 (patch) | Extra arguments are passed to ./configure . Requires
perl, built with the same libc, for compilation. |
pdksh-sh | 5.2.14 (patch) | Extra arguments are passed to ./configure . This is the
same as pdksh, except that it also passes
--enable-shell=sh to ./configure and adds
"-static " to $LDFLAGS . Sources are
still found in pdksh-<version> , not
pdksh-sh-<version> . Requires
perl, built with the same libc, for compilation. |
perl | 5.8.7, 5.8.6, 5.8.5, 5.8.4, 5.8.3, 5.8.2, 5.8.0 | Extra arguments are passed to ./Configure . Requires
gdbm. |
pkgconfig | 0.15.0, 0.12.0 | Extra arguments are passed to ./configure . |
plotutils | 2.4.1 | Extra arguments are passed to ./configure . Requires
xfree86. Uses flex,
libpng, and zlib if they are
installed. |
polipo | 0.9.8, 0.9.7, 0.9.6, 0.9.5, 0.9.4, 0.9.3, 0.9.2, 0.9.1 | Extra arguments are passed to make . |
popt | 1.9, 1.7, 1.6.4 | Extra arguments are passed to ./configure . Requires
gettext for compilation. |
potrace | 1.7, 1.5 | Extra arguments are passed to ./configure . Requires
zlib. |
ppp | 2.4.2 | Extra arguments are passed to make . $LDFLAGS
is not handled. |
procps | 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.15, 3.1.14 | Extra arguments are ignored. Requires ncurses. |
psmisc | 21.5, 21.4, 21.3, 21.2, 20.2 | Extra arguments are passed to ./configure . Requires
ncurses. |
ptyget | 0.50 (GNU/Linux patch) | Extra arguments are ignored. |
publicfile | 0.52 | Extra arguments are ignored. |
pymsgauth | 2.1.0 | Extra arguments are ignored. |
python | 2.4.3, 2.4.2, 2.4.1, 2.4, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3, 2.2.3, 2.2.2, 2.2.1 | Extra arguments are passed to ./configure . Sources
are found in ./Python-<version> . Requires
db, gdbm,
ncurses, openssl,
readline, and zlib.
$CFLAGS , etc., are not handled consistently. |
qmail | 1.03 | Extra arguments are ignored. You must create the user and group accounts before installing. |
qmailanalog | 0.70 | Extra arguments are ignored. |
qtools | 0.56 | Extra arguments are ignored. Requires ezmlm-idx and qmail. |
readline | 5.1, 5.0, 4.3 | Extra arguments are passed to ./configure . Requires
ncurses. |
reiserfsprogs | 3.6.19, 3.6.18, 3.6.17, 3.6.16 | Extra arguments are passed to ./configure . Uses
e2fsprogs if it is installed. |
rpm | 4.0.3 | Extra arguments are passed to ./configure . Requires
bzip2, popt, and
zlib. |
rsync | 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.7, 2.5.6 | Extra arguments are passed to ./configure . Requires
popt. |
safecat | 1.12, 1.11 | Extra arguments are ignored. |
samba | 3.0.23b, 3.0.23a, 3.023, 3.0.21c, 3.0.21b, 3.0.21a, 3.0.21, 3.0.20b, 3.0.20a, 3.0.20, 3.0.14a, 3.0.13, 3.0.12, 3.0.11, 3.0.10, 3.0.9, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2a, 3.0.2, 3.0.1, 3.0.0, 2.2.12, 2.2.11, 2.2.9, 2.2.8a, 2.2.8, 2.2.7a, 2.2.7, 2.2.6 | Extra arguments are passed to ./configure . Requires
ncurses, openssl,
popt, and readline. |
screen | 4.0.2, 3.9.15 | Extra arguments are passed to ./configure . Requires
ncurses. |
sdl | 1.2.11, 1.2.10, 1.2.9, 1.2.8, 1.2.7, 1.2.6 | Extra arguments are passed to ./configure . Requires
xfree86. Sources are found in
./SDL-<version> . |
sed | 4.1.4, 4.1.2, 4.1.1, 4.1, 4.0.9, 4.0.7, 4.0.6, 4.0.5, 4.0, 3.02a | Extra arguments are passed to ./configure . |
serialmail | 0.75 | Extra arguments are ignored. Requires qmail. |
setserial | 2.17 | Extra arguments are passed to ./configure . |
sh-utils | sh-utils has been subsumed by coreutils. | |
shadow | 4.0.7, 4.0.6, 4.0.5, 4.0.4.1 | Extra arguments are passed to ./configure . |
sharutils | 4.6, 4.5, 4.3.78, 4.3.77, 4.2.1 | Extra arguments are passed to ./configure . |
shttpd | 0.53 | Extra arguments are ignored. |
slang | 1.4.9 | Extra arguments are passed to ./configure . Uses
ncurses if it is installed. |
smake | 1.2a23, 1.2a22, 1.2a21, 1.2a20 | Extra arguments are ignored. |
smartmontools | 5.33, 5.32, 5.31, 5.30, 5.29, 5.26 | Extra arguments are passed to ./configure . |
sox | 12.18.1, 12.17.9, 12.17.8, 12.17.7, 12.17.6, 12.17.5, 12.17.4, 12.17.3 | Extra arguments are passed to ./configure . Uses
alsa-lib, lame,
libmad, libogg and
libvorbis if they are installed. |
spamassassin | 2.63 | The first extra argument is used as the administrative contact
URL/email address. Further extra arguments are passed to
Makefile.PL . Requires perl. |
splay | 0.9.5.2 | Extra arguments are passed to ./configure . |
strace | 4.5.14, 4.5.9, 4.5.8, 4.5.6, 4.5.3, 4.5.1 | Extra arguments are passed to ./configure . |
stunnel | 4.14, 4.12, 4.11, 4.10, 4.09, 4.08, 4.07, 4.06, 4.05 | Extra arguments are passed to ./configure . Requires
openssl. |
sudo | 1.6.8p12, 1.6.8p11, 1.6.8p9, 1.6.8p8, 1.6.8p7, 1.6.8p6, 1.6.8p5, 1.6.8p4, 1.6.8p2, 1.6.8p1, 1.6.8, 1.6.7p5 | Extra arguments are passed to ./configure . |
sysfsutils | 1.3.0 | Extra arguments are passed to ./configure . |
t1lib | 5.1.0, 5.0.2, 5.0.0, 1.3.1 | Extra arguments are passed to ./configure . You
will have to set up the configuration file after installing, in
$SPF_PREFIX/t1lib-data/share/t1lib/t1lib.config . Requires
xfree86. |
t1utils | 1.32, 1.28 | Extra arguments are passed to ./configure . |
tar | 1.15.1, 1.14, 1.13.92, 1.13.25 | Extra arguments are passed to ./configure . |
tcl | 8.4.9, 8.4.7, 8.4.6, 8.4.2, 8.4.1 | Extra arguments are passed to ./configure . Source is
found in ./tcl<version> . During installation,
/tmp must not be on a filesystem mounted
noexec . If you are also installing tk,
don't delete the tcl sources until both packages are installed. |
tcp-wrappers | 7.6-ipv6.4, 7.6-ipv6.2 | Extra arguments are passed to make . |
tcpdump | 3.9.4, 3.8.3, 3.8.1, 3.7.1 | Extra arguments are passed to ./configure . Requires
openssl and libpcap. |
tcsh | 6.13.00, 6.12.00, 6.11.00 | Extra arguments are passed to ./configure . Requires
ncurses. |
tetex | 2.0.2 (texmf) | Extra arguments are passed to ./configure . Requires
libpng, ncurses,
t1lib, tetex-texmf, xfree86,
and zlib. Requires flex 2.5.4a
for compilation. Before installing tetex, unpack the texmf tarball in
$SPF_PREFIX/tetex-texmf-<version> . |
texinfo | 4.8, 4.7, 4.6, 4.5, 4.4, 4.3, 4.2 | Extra arguments are passed to ./configure . Requires
ncurses. |
textutils | textutils has been subsumed by coreutils. | |
tiff | 3.8.0, 3.7.3, 3.7.2, 3.7.1, 3.7.0, 3.6.1 | Extra arguments are appended to config.site .
Source is found in ./tiff-v<version> . Requires
jpeg and zlib. |
tightvnc | 1.2.9 | Extra arguments are ignored. Source is found in
./vnc_unixsrc . Requires jpeg,
xfree86, and zlib.
$CFLAGS is not handled. |
time | 1.7 | Extra arguments are passed to ./configure . |
timidity++ | 2.13.0 | Extra arguments are passed to ./configure . You'll
probably also want freepats
unpacked in $SPF_PREFIX/timidity++/share/timidity . |
tk | 8.4.9, 8.4.7, 8.4.6, 8.4.2, 8.4.1 | Extra arguments are passed to ./configure . Source is
found in ./tk<version> . Already-built
tcl source, of the same version, is found in
./tcl<version> . If the tcl source directory was
renamed before tcl was built, the tcl directory must be available by
both the original and new names for tk to find it (unless you specify
the path to the tcl source with --with-tcl ). Requires
xfree86. |
tkeca | 4.0.2, 3.2.1, 3.2.0 | Extra arguments are ignored. |
tla | 1.2.1, 1.2 | Extra arguments are ignored. $CFLAGS , etc., are not
handled. |
tnef | 1.3.4, 1.3.3, 1.3.2, 1.2.3.1, 1.2.1 | Extra arguments are passed to ./configure . |
traceroute | 1.4a12 | Extra arguments are passed to ./configure . |
tzdata | 2005q, 2005k, 2005i, 2005h, 2005f, 2005e, 2005c, 2005b, 2005a, 2004g, 2004e, 2004d, 2004b, 2004a | Extra arguments are ignored. |
ucspi-proxy | 0.96 | Extra arguments are ignored. Note that
"ucspi-proxy " is equivalent to
"multitee 0:7e6 6:1e0 ". |
ucspi-tcp | 0.88 | Extra arguments are ignored. |
uml-utilities | 20040406, 20040114 | Extra arguments are passed to make . Requires
ncurses and readline. |
unzip | 5.52, 5.51, 5.50, 5.42 | The first extra argument specifies the system type, defaulting
to "generic ". Further extra arguments
are passed to make . |
url | 4.0pre.47 | Extra arguments are passed to ./configure . Uses
gnus if it is installed. url releases are packaged
with w3; this entry is provided for those installing
from CVS. |
util-linux | 2.12q, 2.12j, 2.12i, 2.12b, 2.12a, 2.12 | Extra arguments are passed to make . Uses
ncurses, zlib, and in versions
2.12i and later, e2fsprogs if they are
installed. |
uudeview | 0.5.20, 0.5.18 | Extra arguments are passed to ./configure . Requires
tcl, with already-build sources in
./tcl<version> , and tk, with
already-built sources in ./tk<version> . |
vorbis-tools | 1.1.1, 1.0.1, 1.0 | Extra arguments are passed to ./configure . Requires
libao, libogg,
libvorbis, curl,
openssl, and zlib. |
w3 | 4.0pre.47 | Extra arguments are passed to ./configure . Requires
url (if installed from CVS). Uses
gnus if it is installed. |
webalizer | 2.01-10 | Extra arguments are passed to ./configure . Requires
gd, libpng, and
zlib. |
wget | 1.10.2, 1.10.1, 1.10, 1.9.1, 1.8.2 | Extra arguments are passed to ./configure . Uses
openssl if it is installed. |
which | 2.16, 2.14, 2.13 | Extra arguments are passed to ./configure . |
wireless-tools | 28, 27, 26 | Extra arguments are passed to make . |
worker | 2.9.0, 2.8.5, 2.8.4, 2.8.3, 2.8.1 | Extra arguments are passed to ./configure . Requires
xfree86. Uses bzip2 and
zlib if they are installed. |
wmix | 3.1, 3.0 | Extra arguments are passed to make . Requires
xfree86. |
xcdroast | xcdroast-0.98alpha15 | Extra arguments are passed to ./configure . Requires
cdrtools, expat,
glib, gtk+,
pcre, xfree86. If you use
gtk+ 2.*, atk and pango are also
required. |
xfree86 | 6.9.0, 6.8.2, 4.4.0, 4.3.0, Xaw3d | Extra arguments are added to config/cf/host.def as macro
definitions. Sources are found in ./xc . Requires
expat, flex 2.5.4a,
fontconfig, freetype,
libpng, libxml2,
ncurses, and zlib. Requires
bison for compilation. If /bin/sh was
pdksh, I would get a segfault during the 4.3.0
build, so I temporarily switched /bin/sh to point to
bash. Although “xfree86 ” is
used as the name of this package, only versions up to 4.4.0 come from
xfree86.org; later versions come
from x.org. Only the X.org versions can
be built with glibc 2.3.4 or later. |
xpdf | 3.01 (anti-DRM patch), 3.00, 2.03 | Extra arguments are passed to ./configure . Requires
lesstif, t1lib, and
xfree86. Uses freetype
if it is installed. |
zip | 2.31, 2.3 | The first extra argument specifies the system type, defaulting
to "generic ". Further extra arguments
are passed to make . |
zlib | 1.2.3, 1.2.2, 1.2.1, 1.1.4 | Extra arguments are ignored. |