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
