[Rpm-maint] [PATCH 3/3] Add new helper to search for dependencies in the libraries

Panu Matilainen pmatilai at laiskiainen.org
Wed Nov 24 10:26:07 UTC 2010

On Mon, 22 Nov 2010, Alexey Gladkov wrote:

> The helper generates depends not on all files, but only for
> those which are found in certain directories. Helpers checks the
> configuration of ldconfig, standart directories %_libdir and /%lib,
> and directories in the RPM_FINDPROV_LIB_PATH variable.

I'm not at all convinced this is a good idea. The libraries outside 
standard paths are subject to LD_LIBRARY_PATH (and rpath and whatnot) 
uses, this depends on the ld configuration of /build/ host which can be 
something completely different on the actual target hosts etc. And unless 
I'm misreading the script, this completely excludes dependency generation 
on non-standard library-paths, meaning any dependencies the private 
libraries have will be missed, which would be a huge regression. I also 
don't think parsing the linkers configuration is rpm's business.

I do agree with Mark's comments here 
http://lists.rpm.org/pipermail/rpm-maint/2010-November/002903.html: It 
needs to scan everything by default, but have a nice way to filter out 
unwanted bits provides and requires based on path and/or generated 
dependency. Better yet if it can be done automatically for things like 
python/perl/etc extension modules which live in mostly known paths.

Oh btw:

> @@ -1,4 +1,3 @@
> -%__elf_provides		%{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
> %__elf_requires		%{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
> -%__elf_magic		^ELF (32|64)-bit.*$
> +%__elf_magic		^ELF (32|64)-bit.* shared object, .*$

Not all binaries are PIE, that'd need to take the "traditional" 
executables into account too.

 	- Panu -

More information about the Rpm-maint mailing list