RPM Community Forums

Mailing List Message of <rpm-users>

Re: How does bash-provides work?

From: Eric MSP Veith <eveith@wwweb-library.net>
Date: Mon 16 Jul 2007 - 22:35:50 CEST
Message-Id: <200707162235.50577.eveith@wwweb-library.net>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 16 July 2007, Jeff Johnson <n3npq@mac.com> wrote:
> >> Depends on what you are expecting.
> >
> > I'm expecting that RPM does not complain about functions provided
> > or binaries
> > that *are* installed. :-) For example, all packages using /bin/rm
> > in a shell
> > script complain that "executable(rm)" is not provided, however, I
> > have the
> > coreutils package installed, and this one for sure does have a /bin/rm
> > executable.
>
> What versions of rpm are involved? It sounds like you are using
> rpm-4.4.8
> (or later) to build with executabledeps.sh enabled, but are expecting
> an older version of rpm to be able to satisfy
>      Requires: executable(foo)
> dependencies.

Build system is rpm-4.4.8, install system is running version 4.4.8, too. Both 
are installed from the same package.

> > It does not matter to me whether those "executable(foo)" lines are
> > generated
> > at build or install time.
>
> Heh. Doesn't matter to me either ;-)

:-)

> You're likely in uncharted and not-yet-implemented waters with
> dependencies
> on shell functions. I've never implemented a function(...) mechanism
> in rpm.

Well, "function(foo)" comes from a bash patch RedHat supplies, I thought it 
was crucial for executabledeps.sh to work, since it 
calls "bash --rpm-requires", which is also added by this patch (and leads to 
the "function(foo)" and "executable(bar)" output).

> If you give me a ptr to the rotlog package you are building, I'll
> make sure
> that the function(...) dependencies are filtered out.

The rottlog tarball I was packaging is located here: 
http://savannah.gnu.org/download/rottlog/rottlog-0.70beta3.tar.gz

I'm not really getting how this system should work: You say, "function(foo)" 
is not (yet) provided by RPM. I'm willing to leave this out. However, the 
same patch to bash that adds the "--find-requires" options is responsible for 
*both* the "executable(...)" *and* the "function(...)" stuff. 
And "executable(...)" does not work, so at least the latter one is broken 
here.

Thanks for the help,
	Eric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFGm9amfkUtd7QNU/sRAgPyAKDBX64PamcZgx81L24h585TjG8UIgCeI6Gc
1t71CdS7guh2EvODmzWehPc=
=Bfyv
-----END PGP SIGNATURE-----
Received on Mon Jul 16 22:35:54 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.