Dependency Generators in RPM < 4.9

David Abdurachmanov david.abd at
Wed Feb 6 08:42:05 UTC 2013


You could build your own macros/system for Provides/Headers management.

E.g., I have disabled internal dependency generator (libtool):

%_use_internal_dependency_generator	0

Then inside the SPEC you could so something like that:

# Filter out private stuff from RPM requires headers.
cat << \EOF > %{name}-req
%{__find_requires} $* | \
sed -e '/GLIBC_PRIVATE/d'

%global __find_requires %{_builddir}/gcc-%{gccBranch}-%{gccRevision}/%{name}-req
chmod +x %{__find_requires}

Inside build directory you create %{name}-{req,prov} bash scripts, which calls the original one (if you need it) and then you add/remove items you want. Then inside the SPEC you change the %{__find_requires} script used by RPM. I do it in %prep section.

It works on Scientific Linux 5 (RHEL 5).

I believe Fedora has defined some nice macros for managing provides/requires in their build system.


On Feb 5, 2013, at 11:28 PM, T.C. Hollingsworth wrote:

> Hi!
> For nodejs, we drop a file in /usr/lib/rpm/fileattrs to automatically
> generate Provides and Requires based on the metadata shipped with
> every Node.js module.  I understand that this isn't supported on RPM <
> 4.9 (e.g. all current versions of RHEL), but it seems to have some
> sort of older generator system [1] we can use?  How do we go about
> that?
> Thanks!
> -T.C.
> [1]
> _______________________________________________
> Rpm-list mailing list
> Rpm-list at

More information about the Rpm-list mailing list