RPM Community Forums

Mailing List Message of <rpm-users>

Re: Building a spripped-down RPM5

From: Eric MSP Veith <eveith@wwweb-library.net>
Date: Tue 16 Dec 2008 - 17:09:21 CET
Message-Id: <200812161709.22080.eveith@wwweb-library.net>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I know that the distribution of bdb that comes with RPM has some 
modifications, that's ok with me.

However, a normal build here leads to the following output 
of "rpm -q --reqiures":

[...]
libdb-4.5.so
libsqlite3.so.0
[...]

which shouldn't be, should it? I mean if RPM distributes its own version of 
bdb, why does it need an external set of bdb libraries installed after the 
build of rpm5 is complete? About the sqlite3 dependency: As I don't use 
sqlite3 for storage I though I'd just disable it when building.

For reference, I currently configure the RPM 5 sources using the following 
command:

%configure \
    --with-libelf \
    --with-perl \
    --with-python \
    --with-zlib \
    --with-bzip2 \
    --with-lzma \
    --with-beecrypt \
    --with-file=internal \
    --with-db=internal \
    --with-sqlite=external \
    --with-db-largefile \
    --with-dbapi=db \
    --with-lua=internal \
    --with-pcre \
    --with-xar=internal \
    --with-path-macros='%{_libdir}/rpm/macros:
%{_sysconfdir}/rpm/macros.d/*:~/.r
pmmacros' \
    --with-db-tools-integrated \
    --enable-build-pic \
    --enable-build-pie

Thanks,
		-- Eric

On Tuesday 16 December 2008, "Ralf S. Engelschall" <rse+rpm-users@rpm5.org> 
wrote:
> On Tue, Dec 16, 2008, Eric MSP Veith wrote:
> > for my build environment I want to create a basic distro that comes
> > with only the minimal requirements. This works quite well, except for
> > RPM 5 whose dependencies I do not dare to touch.
> >
> > Two things disturb me: First the sqlite3 dependency and the need to
> > have BerkeleyDB libraries around. The sqlite3 problem can be solved
> > quite easily by just disabling it when running configure; however, the
> > latter I don't understand: rpm5 brings it's own bdb, why does it rely
> > on an external set of libraries?
>
> RPM ships with Berkeley-DB because it slightly modified it and RPM
> wants to make sure that it is always able to correctly build against
> Berkeley-DB. Except in cross-platform/non-Linux situations, RPM should
> work just fine also with the external Berkeley-DB as long as this
> Berkeley-DB is of a recent enough version. In a cross-platform/non-Linux
> situation I would be more careful with the external version.
>
> > I assume that this comes from dynamic linking (?), and I guess that
> > doing static linking would solve the problem. Is there an *elegant* way
> > to link the supplied bdb distributions statically?
>
> The supplied Berkeley-DB _IS_ linked statically into RPM AFAIK.
> But perhaps I misunderstand your question...
>
>                                        Ralf S. Engelschall
>                                        rse@engelschall.com
>                                        www.engelschall.com
>
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> User Communication List                             rpm-users@rpm5.org

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAklH0rIACgkQfkUtd7QNU/tdDQCfVpXfsk8mf9RF6iGRq+frnPZ6
mvwAn24P40y2tezm5ewiSbwdryFDyV3Y
=fPWn
-----END PGP SIGNATURE-----
Received on Tue Dec 16 17:09:25 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.