rpm/tools
Panu Matilainen 8901a6be16 Generate requires for "pure" ELF DSO's regardless of executable bit
ELF ET_DYN files can be shared libraries, executable files or both.
Requiring shared libraries that cannot actually be executed (or segfault
when you do so) is dumb, but rpm has traditionally required executable
bit to be set for requires to be generated.

Refine the definition of "executable" to mean files that actually *can*
be executed, ie those with PT_INTERP and whose actual behavior depends
on whether the executable bit is set or not.

In other words, pure shared libraries will have requires generated
regardless of their permission, but executable files can still disable
that by disabling the on-disk executable bit because unlike shared
libraries, they only require anything when being executed.

Also add rudimentary testcases for the scenarios involving a shared
library, traditional binary and a PIE binary. The test material needs
to be pre-built as we cannot predict what dependencies building on an
arbitrary compiler on arbitrary platform may have, but source is
included for manually regenerating as needed.
2020-11-24 14:47:12 +02:00
..
debugedit.c debugedit: Do not 'edit_dwarf2' when just extracting build-id 2020-11-23 14:39:55 +02:00
elfdeps.c Generate requires for "pure" ELF DSO's regardless of executable bit 2020-11-24 14:47:12 +02:00
hashtab.c Expand private include file names to be relative to $(top_srcdir) 2007-11-23 11:47:48 +01:00
hashtab.h Debug package patch. 2002-10-18 16:01:59 +00:00
rpmdeps.c Add OrderWithRequires dependency generation 2020-06-09 12:37:23 +02:00
rpmgraph.c Split cli verification flags out of qva_flags 2017-11-14 11:12:04 +02:00
sepdebugcrcfix.c Fix sepdebugcrcfix compilation on platforms without MAP_POPULATE 2020-01-14 12:37:41 +02:00