So I've been working on migrating my primary server from Slackware
8.1 to Slackware 10.1 (a much-needed upgrade long overdue), and I
think to myself, ok, I should be able to stick to using the precompiled
binary packages for just about everything, and not build very much
stuff from source. Building everything from source is kind of a pain,
and I'd rather stick to the simplicity of Slackware's package management.
Makes it easier to keep up to date with security patches too; I can just
download the updated packages from the link in the
slackware-security e-mail,
run upgradepkg
, and I'm done.
Well, then I start configuring things, setting everything up to work
the way I want, and I run into something that I can't change via a
run-time configuration file; I have to either modify the source code,
or at least add some configure
options. So I either remove
the Slackware package and just build it from source, or I grab the source
for the Slackware package from the fourth CD and modify the SlackBuild
script. I get it working the way I wanted.
And then I step back and take a look at how many packages I've had to do this with: so far, Apache, Sendmail, PHP, imapd/ipop3d, and of course the Linux kernel. And I'm not done yet.
I must admit, this does make me rather curious as to how Slackware compares
to other distributions. I know some of the compile-time options I wanted,
other distros enable by default, where Slackware doesn't. I've always
heard that when you build things from source, you run into dependency
nightmares with the package management system. With RedHat you could just
do the same thing that I've done for a few of these Slackware packages -
hack the SRPM, then install it as normal. What about SuSE, Debian or
Gentoo? Does compiling from source with customized options cause
package management issues? I expect Gentoo shouldn't have any trouble
as long as you just need to change the options, rather than modify the
code itself, but what about things like UW imapd, which needs modifications
to src/osdep/unix/env_unix.c
to make it not completely suck?
Fun fun fun.