Since my last Slackware advocacy post here on Plug, I've
installed dozens of non-trivial Linux packages (including gcc,
libSDL, WindowMaker and major version delta kernel source, but not
KDE, GNOME or XFree because there hasn't been a need to yet) on
my system, ALL FROM SOURCE, and I have to say I actually find the
going much much simpler without either dependency checking or a
ports system (like Gentoo's Portage).

I couldn't be happier with my Slackware setup the way it is
right now, everything is neatly in place and I can add and
remove packages easily and quickly with virtually complete
confidence that no junk is lying around.

So I just have to reiterate what I believe is something many
Linux users don't realize - namely that sometimes mastering
additional tools are unnecessary and only serve to divert
your efforts.

Certain key things contribute to the ease of installing
from source under Slackware:

1) the preponderance of well-written ./configure scripts
It doesn't have to be a configure script written to the
autotools standard (which are generally great for users but
are bloated, hell to debug and difficult to create for
developers).  It just has to allow you to specify a different
install directory for make install from that where the program will
eventually reside (see below)

2) Slackware's no-nonsense package manager
Very simple to understand - each package consists of a
set of files and symbolic links, all of which get deleted
when you try to remove the package, and all of which
are described in /var/log/packages/*

Slackware packages are very well laid out, there are no
duplicate files across different packages.

After a make install, a properly written Makefile will allow
you to mirror the exact directory structure where the package's
files will reside but under a package creation directory you
specify - i.e. /pkgcreate - by doing make install PREFIX=/pkgcreate/usr/local

This is from where you invoke the command:

makepkg packagename-i?86-?.tgz

after which you will end up with a Slackware package which
you can now install from and afterwards squirrel away.

In fact programs like checkinstall, installwatch, etc... can
automate this process, but again, they're probably more trouble
than they're worth.  After trying checkinstall for a while, I
stopped using it because it offers only minimal improvement from
doing it manually and if it fails, its very likely it will take
you longer to figure out how to get things working with it rather
than to just fix the problem outright and not have to pass things
through an additional tool.

3) There are a few source distributions whose install
scripts have bugs and which will not put everything in
the package creation directory.  For these, you can
check out the output of make install and manually move
evrerything into the package creation directory before
creating the package.

This is not at all hard to do, and I find is infinitely more
preferable to the wrestling with dependencies or snafus under
a ports systems.

4) Slackware comes with a very good set of default packages that
strikes a good balance between size and dependency availability.
I usually just do a full Slackware install (around 2GB) to
save time and not have to make decisions, but the way the packages
are organized and described, as long as you are not compulsively
anal about removing packages to save the last few MB, you
will not experience dependency problems.

5) One side benefit of experiencing the compile and installation
process first hand (as opposed to having an automated script
do the downloading and compile) is that you get a better overview
of what files are involved.

6) I suppose thinking back about the past, there WAS a learning curve
involved before I became comfortable with Slackware... but things
seem so straightforwardly done today, I suppose it's a bit like riding
a bicycle.  Very simple once you get it.






-- Philippine Linux Users' Group (PLUG) Mailing List [EMAIL PROTECTED] (#PLUG @ irc.free.net.ph) Official Website: http://plug.linux.org.ph Searchable Archives: http://marc.free.net.ph . To leave, go to http://lists.q-linux.com/mailman/listinfo/plug . Are you a Linux newbie? To join the newbie list, go to http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie

Reply via email to