RPM Community Forums

Mailing List Message of <rpm-users>

Re: How does bash-provides work?

From: Eric MSP Veith <eveith@wwweb-library.net>
Date: Thu 19 Jul 2007 - 15:28:00 CEST
Message-Id: <200707191528.04786.eveith@wwweb-library.net>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Good day,

Yesterday I found by coincedence that the resolution of "executable(...)" 
entries works perfectly, but somehow »sudo« set my path to garbage. No wonder 
RPM was behaving strangely when installing packages.
What, however, somewhat confuses me is 
that "rpm -q --whatprovides 'executable(rm)'" doesn't work.

What stays is the strange new "function(foo)" namespace, which I do not really 
need. It was, as stated previously, part of the bash-requires.patch. Is there 
any »official« version of this patch?

	Eric

On Monday 16 July 2007, Eric MSP Veith <eveith@wwweb-library.net> wrote:
> 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
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> User Communication List                             rpm-users@rpm5.org

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

iD8DBQFGn2bhfkUtd7QNU/sRApDsAJ9r15WM/k/2TBw4lY0JhFN4glb/1QCeKbbH
q7Y9D1vvnoLsBWbKd1/ov/U=
=hiYI
-----END PGP SIGNATURE-----
Received on Thu Jul 19 15:28:11 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.