1 AUTHOR: Jim Gifford <hints at jg555.com>
2 With thanks to Kelldan <kelledin@users.sourceforge.net>
3 Originally by Jason Gurtz <jason(at)tommyk(dot)com> rpm.txt
4 Originally by Sergey Ostrovsky <sergey@linuxfromscratch.org> rpm_glibc22.txt
8 LICENSE: GNU Free Documentation License Version 1.2
10 SYNOPSIS: The RPM package is used for installing, building and maintaining
13 DESCRIPTION: This hint will show you how to install rpm to be used with LFS.
15 PREREQUISITES: From LFS Build : Zlib, Bzip2, Gzip, Gettext, Perl, Sed, and Tar.
16 From BLFS : Berkeley DB, CVS, Expat, GnuPG, and Libxml2.
17 From Other : See Dependencies
20 REQUISITES: From BLFS : Python
26 RPM is a package manager of dubious value to the average LFS'er. However,
27 certain closed-source commercial applications require it for installation.
28 Additionally, playing with it may be of educational value, and it may
29 ease administration of a large and diverse network of UNIX and UNIX-like
30 computers. Maybe it can do more than simply "Ruining a Perfectly
35 RedHat is the maintainer and active developer of the RPM package. It's
36 home page is http://www.rpm.org/
38 There is a download site for RPM, but I recommend taken the snapshot from
39 their cvs to you don't have find the dependencies.
43 The following information will download the current CVS version of RPM. It
44 will also fix a couple of build issues by removing wnh from the build. wnh
45 is not included as of this writing of the hint. In the future we should
46 be able not to remove it.
48 cvs -z 9 -d :pserver:anonymous@cvs.rpm.org:/cvs/devel co -r rpm-4_4 rpm
50 RPMVER="`cat configure.ac | grep AC_INIT | cut -f2 -d, | cut -f2 -d' '`"
51 sed -e 's|wnh/Makefile||g' configure.ac
52 sed -e 's|wnh/Makefile||g' Makefile.am
55 tar jcvf rpm-$RPMVER.tar.bz2 rpm-$RPMVER
59 Package Name: beecrypt-4.1.2.tar.gz
60 Download here: http://prdownloads.sourceforge.net/beecrypt/beecrypt-4.1.2.tar.gz?download
62 Build Beecrypt as follows:
64 ./configure --prefix=/usr --enable-shared &&
68 Package Name: neon-0.25.5.tar.gz
69 Download here: http://www.webdav.org/neon/neon-0.25.5.tar.gz
71 Build Neon as follows:
73 ./configure --prefix=/usr --enable-shared &&
79 No Patches are required for the CVS version.
83 First rebuild the configure and makefiles for rpm:
86 ./autogen.sh --noconfigure
92 If you have python installed, you can remove
95 For NPTL Based Machines:
97 ./configure --prefix=/usr \
98 --enable-posixmutexes \
101 --without-javaglue &&
105 For LinuxThreads Based Machines:
107 ./configure --prefix=/usr \
108 --disable-posixmutexes \
109 --disable-pthreadsmutexes \
112 --without-javaglue &&
116 You will also need to create the proper lock directory for RPM to function
119 install -d /var/lock/rpm
121 At this point you will need to initialize the RPM database with the following
122 commands. Do not use this command if you are upgrading to a newer version of
125 rpm --initdb --root=/
127 Use this command if your upgrading your RPM installation
129 rpm --rebuilddb --root=/
131 You can disregard all the pointer warnings that fly by. When it's done, you
132 should be able to type:
136 A good final test of basic functionality is to download an RPM package.
137 This will be someDumbProg-0.0.1.src.rpm All it is is a tarball in
138 disguise. To get at it simply:
140 rpm -i -vv someDumbProg-0.0.1.rpm
142 note from the -vv (extra verbose) output that the .tar.gz gets dumped in
143 /usr/local/src/redhat/SOURCES along with maybe a patch file or other nice
144 extras. Also note that the database itself is at /var/local/lib/rpm/Packages
145 There are 3 levels of "rc" config files. global is /usr/local/lib/rpm/rpmrc
146 Machine specific is /etc/rpmrc user level is ~/.rpmrc
148 # Optional Setup for Alien
150 Most LFS users don't want to use RPM, but rpm can benefit us when we are
151 trying to locate patches and source codes. The utility named alien can
152 convert these rpm packages into something more useful for use to us.
154 Package Name: alien_8.61.tar.gz (Alien 8.61)
155 Download here: http://kitenet.net/programs/alien
159 Alien is simple to install, here are the instructions.
165 Alien is now ready for use. You can download a srpm or .src.rpm and
166 use the follow line to convert it into .tgz file
168 alien -t filename.rpm
170 This will create an archive file that can be extracted.
172 WARNING: When extracting the newly create .tgz file, use a separate
173 directory, and move the file in before extracting. Files will be
174 extracted into the currect directory.
178 CHANGELOG: 1.10 Corrected Typos. Updated Programs.
180 1.8 Added missing depenencies for neon: expat and libxml2
181 1.7 Fixed Typo's and updated instructions based on glibc
182 1.6 Added missing dependencies: beecrypt and neon
183 1.5 Updated to RPM 4.4.2 - Updated Alien to 8.50
184 1.4 Fixed Email Address
185 1.3 CVS to SVN Information
186 1.2 Added Previous Authors Information
187 1.1 Updated to New Format and New Version
188 1.0 Adopted by Jim Gifford
190 New Version of this document can be viewed from
191 http://svn.jg555.com/svn/repos/hints/rpm.txt