Building my first RPM
Tim Mooney
Tim.Mooney at ndsu.edu
Thu Mar 12 16:56:31 UTC 2015
In regard to: Re: Building my first RPM, Blaxton said (at 5:17am on Mar 12,...:
> Is there a directive or command in .spec file to make python understand
> these libraries already exist ?
There are other ways to do this; it shouldn't really go in the Python
spec, since it's a property of the system, not a property of Python.
I don't know if the easiest way will work with rpm 3.0.x, but it's easy
so try it: You likely already have an /etc/rpm directory on your
system, or perhaps it's somewhere else (/opt/etc/rpm or equivalent based
on how rpm was built). In there, create a plain text file named "sysinfo"
with the exact text of the dependencies that RPM detects as missing, one
per line. Once you've done that, try the install again.
If that doesn't work, it likely means that rpm 3.0.x didn't use the
sysinfo files like rpm 4.x and later do.
In that case, the best (and arguably the most elegant in any case) thing
to do is to create a "virtual" package that has no actual %files, but has
a bunch of
Provides: libfoo.a(some symbol)
Provides: libbar.a(something else)
Then build the package, and install it. This package works like a bridge
between the libraries (and other things, like /bin/sh) provided by the
base OS and what RPM needs. You can either do one package with all the
different OS components that RPM needs or you can split things up along
the natural package boundaries that the OS packaging tools (is it still
LPP?) provide.
On my OpenIndiana (Solaris-derivative) workstation, I chose to split
things on the OS packaging boundary, and I named each package with an
"openindiana-" at the start of the name, so I have things like:
openindiana-bzip2-1.0.6-5.11.0.151.1.8.x86_64
openindiana-cairo-1.10.2-5.11.0.151.1.9.x86_64
openindiana-cups-libs-1.4.2-5.11.0.151.1.8.x86_64
openindiana-curl-7.21.1-5.11.0.151.1.8.x86_64
openindiana-expat-2.1.0-5.11.0.151.1.8.x86_64
openindiana-filesystem-base-0.5.11-5.11.0.151.1.8.x86_64
openindiana-flac-1.2.1-5.11.0.151.1.8.x86_64
and so on installed. I do enough packaging with RPM that I wrote a script
to query the OpenIndiana native packaging system (called IPS) and
auto-generate a spec file with everything I need in it.
Tim
--
Tim Mooney Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure 701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
More information about the Rpm-list
mailing list