< Day Day Up > |
Recipe 2.11. Installing Source RPMs2.11.1 ProblemYou can't install an RPM because of binary incompatibilities with your system, or you just prefer to compile applications on your system, or you want to edit the source code then build the package. 2.11.2 SolutionBuild your new program from source RPMs. Download the SRPM—in this example, tuxpaint-2002.10.20-1.src.rpm—into your directory of choice. Be sure to get the SRPM for your Linux distribution. Then run the package installer: # rpm -ivh tuxpaint-2002.10.20-1.src.rpm This will place sources in /usr/src/SOURCES and the spec file in /usr/src/SPECS: $ ls /usr/src/SOURCES tuxpaint-2002.09.29.tar.gz ruxpaint-Makefile.patch tuxpaint-stamps-2002.09.29.tar.gz tuxpaint.desktop tuxpaint-opt.patch $ ls /usr/src/SPECS tuxpaint.spec Build the spec file: # rpmbuild -bb tuxpaint.spec This creates a new RPM in /usr/src/RPMS/i386: # ls /usr/src/RPMS/i386
tuxpaint-2002.10.20-1.i386.rpm You now have a nice, new Tuxpaint RPM, compiled for your system. 2.11.3 DiscussionThe source directory on your particular distribution may be different. Fedora 1 uses /usr/src/redhat/RPMS/, as did some early versions of Mandrake. Other distributions use /usr/src/RPM/RPMS. Poke around and you'll find the right one. This is not an escape from RPM hell. It simply lets you build an RPM from sources compiled on your system, so you have binary compatibility with system libraries and the RPM is optimized for your architecture. You still need to manually satisfy dependencies, which is not as much fun as it sounds. Note that rpmbuild is a separate package from rpm. 2.11.4 See Also
|
< Day Day Up > |