Q: Okay, I am convinced that RPM-based package management is
worth exploring, but my (Unix|Linux|BSD|whatever) distribution
does not ship a version already pre-built which I can just install.
I have looked everywhere, and it is just not available.
What should I do?
A: A couple of nice things about a Free *nix variant operating system
environment is that you are part of a broader community of people
facing the issue of systematically admininstering the well-designed
collection of competent, small tools, which make up the POSIX/ Free *nix
environment. This is a somewhat lighthearted description.
*nix (we say "*nix", because Unix is a registered trademark of The
Open Group [last time we looked] in
most of the world) is no newcomer, but rather has had thirty years
to mature and be debugged. This makes it enormously stable, and
implies that a huge base and culture of software has been
developed, or 'ported' between variant Free *nix platforms.
|
|
RPM may well have already been ported to your platform. Look there. If so, retrieve
it, install it, and you are on your way.
But sometimes it is not yet ported, or the port is stale, or you
have the 'itch' to do it yourself. If so, read on. (p.s., also
subscribe to and read an RPM related mailing list for a couple of
weeks. The 'install question' is often re-asked <grin> --
take notes and write them up, and send them to us, and they may just
appear here.)
Unix is a tool-builder's culture; compare this with the more graphical
Apple and Windows environments, which are tool-users cultures,
at the mercy of largely anonymous third parties to 'add a button' to
their desktop. Unix folks can reshape the computer's actions,
to work the way THEY want to work.
... So ... you acquire the RPM source code, freely available from
the RPM FTP site, and try to uncompress it and unpack it into a
source code directory structure. The tools used to uncompress
(gzip, actually, its gunzip incantation) and
unpack (tar), are themselves also freely available (if not
already 'ported' to your operating system version), developed and honed to
be 'best of breed', and available for free at an FTP site
maintained by volunteers of the Free
Software Foundation. Yep, free, gratis, costing nothing but the
time to retrieve and install it. Again, part of the Free *nix culture.
The tools we want are tar (aka, gnutar on some
Unices, such as HP-UX 10.x), and gzip. While it is fun, and
some enjoy working through building a toolchain and getting the
proper 'library headers' and compiler for your system, the process of
doing so is far beyond the scope of this piece. If you need help, seek out
the local guru at your datacenter, or ask the support list of your
operating system vendor or packager.
Once you have a working compiler toolchain, compile the RPM source
files. It is as simple changing directories where you gunzipped
and untarred the sources [you though we forgot mentioning
them,ehhh?], and typing:
./configure
make
make install
... Well -- Sometimes. The rpm database then needs to be initialized.
rpm --initdb
[:
"rpm --initdb" will completely REMOVE
any content previously in the RPM database -- If used on an already-
populated database, all prior content will be GONE, FOREVER.
Wow: both <blink> and <font color>
tags: I feel so dirty.]
... and we are then ready to go to work populating it with packages,
built under the RPM system -- the rpmbuild command in the RPM
package will help; setting up a local build tree, and
building new packages as an end (non-root) user account
is the preferred approach, so that an errant (or malicious) .spec
file cannot destroy your system.
Rebuilding your toolchain to place it under RPM management is
probably a good 'next' project. See, for example, the Linux via RPM project for a
worked example.
Please consider documenting the process, and any pitfalls which you
encounter, and how you surmounted them for your platform; send an account
here, and we'll see to publishing it.
Good Luck !