[PLUG] modify RPM database

Carla Schroder carla at bratgrrl.com
Tue Oct 21 16:25:03 UTC 2003


On Tuesday 21 October 2003 4:10 pm, Rich Shepard wrote:
> On Tue, 21 Oct 2003, Carla Schroder wrote:
> > Howdy,
>
>   Hi.
>
> > Somewheres once upon a time I heard tell you could add libs and such,
> > from source installs, to your RPM database. Anyone know if this is so?
> > Got links?
>
>   Paul Heinlein wrote an e-mail on this, but for some reason it's not in my
> saved messages file.

Rich,

I did save it... :)   Thanks!

"On Sun, 2 Jun 2002, Rich Shepard wrote:

> I have been using '--nodeps' once I check that the required libs are
> present. I just wondered if there's a way of making the rpm db aware
> of a non-rpm-installed library. You confirmed that the answer is,
> "no".

That's really not true. What you do is write a dummy package that
contains no files, just a bunch of Provides: lines. That's what I did
on my Solaris box to let rpm know what libraries came installed with
the system.

First, you create the .spec file. It'd look something like this:

#
# this is a virtual rpm; it doesn't contain any files, just a list
# of Provides taken from the base solaris os. See the very bottom
# of this .spec for the actual package info...
#

Summary: Manually installed libraries
Name: handbuilt
Version: 1.0
Release: 1
Copyright: GPL
Group: System Environment/Base
Packager: Rich Shepard <>
# these are just examples. season to taste
Provides: lib450.so.1
Provides: libC.so.3
Provides: libC.so.5
Provides: libCrun.so.1
Provides: libCstd.so.1
Provides: libFS.so
Provides: libFS.so.5
Provides: libICE.so
Provides: libICE.so.6

%description
This is a virtual RPM package.  It contains no actual files.  It uses
the `Provides' token from RPM 3.x and later to list many of the shared
libraries I've installed by hand on my system.

%prep
# nothing to do

%build
# nothing to do

%install
# nothing to do

%clean
# nothing to do

%files
# nothing here

#
# eof
#


Then "build" the rpm: "rpm -bb /path/to/foo.spec" -- and install it. 
From that point forward, rpm is aware of the libraries you've listed 
in the various Provides: lines. Note that you don't need to provide a 
full path to the library, just its basename."

>
>   What I do with new applications available only as tarballs is replace the
> 'make install' step with 'checkinstall'. While the current, stable version
> of checkinstall goes ahead and installs the package, too, I'm told the beta
> version will allow you to build the package but not install it.
>

Thanks for this too!

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~
Carla Schroder
www.tuxcomputing.com
this message brought to you
by Libranet 2.8 and Kmail
~~~~~~~~~~~~~~~~~~~~~~~~~





More information about the PLUG mailing list