[Mageia-dev] executable libraries

Per Øyvind Karlsen peroyvind at mandriva.org
Fri Mar 2 19:53:06 CET 2012


Den 23:05 1. mars 2012 skrev Anssi Hannula <anssi at mageia.org> følgende:
> 02.03.2012 00:03, Maarten Vanraes kirjoitti:
>> Op donderdag 01 maart 2012 22:54:59 schreef Anssi Hannula:
>>> 01.03.2012 23:36, Pascal Terjan kirjoitti:
>>>> I would say it doesn't matter and would not spend any time on it
>>>
>>> /usr/lib/rpm/mageia/find-debuginfo.sh:
>>>
>>> # Strip ELF binaries
>>> find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \
>>>                      \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
>>>                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>                      -print |
>>> file -N -f - | sed -n -e 's/^\(.*\):[   ]*.*ELF.*, not stripped/\1/p' |
>>> xargs --no-run-if-empty stat -c '%h %D_%i %n' |
>>> while read nlinks inum f; do
>>>
>>>
>>> Looks like debug packages and/or stripping won't work for non-executable
>>> shared libraries.
>>
>> hmm, there's a '!' there, so isn't it reverse then?
>
> It reverses the -path rule only.
>
>> but if this only works with executable libraries, (kind of weird imho), there
>> are at least 34 libraries on my system not marked as executable...
>>
>> does this mean debug info fails for these?
>
> I'm not immediately sure (I never remember how the debug/stripping stuff
> works exactly), but I think either a) debug symbols extraction and thus
> -debug packaging, b) stripping, or c) both will fail with non-executable
> shared libs.
If using the internal dependency generator, rpm won't generate dependencies for
the library either btw.

I've just implemented a rpmlint shared-lib-not-executable check :
http://svn.mandriva.com/viewvc/packages/cooker/rpmlint/current/SOURCES/rpmlint-1.4-shared-lib-not-executable.patch?view=log

--
Regards,
Per Øyvind


More information about the Mageia-dev mailing list