Am 10.07.2014 08:51, schrieb Viktor Dukhovni:
> On Thu, Jul 10, 2014 at 08:44:33AM +0200, [email protected] wrote:
> 
>>> Where the RUNPATH kludge is needed the flag is I think important,
>>> since otherwise upgrade builds will run-time link with installed
>>> libraries from an older release in preference to the build's
>>> libraries (potential problem with invocations of postconf during
>>> build/install)
>>
>> no rpath for Fedora
>> http://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath
> 
> This should not be adhered to pedantically. Used properly RPATH
> (or now RUNPATH) is necessary and useful.  The Postfix executables
> will use an RPATH that is not found among the standard system
> library directories

as long they are found by remove the rpath with the snippet below
that's not a problem, in case of RPM packages there are never
libraries from an older release at the time the service is started

%configure
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

i guess dovecot is a good example and needs only
a "ld.so.conf.d" snippet to solve that

[harry@srv-rhsoft:~]$ cat /etc/ld.so.conf.d/dovecot-x86_64.conf
/usr/lib64/dovecot

/usr/libexec/dovecot/imap-login
Full RELRO  Canary found  NX enabled  PIE enabled  No RPATH  No RUNPATH

/usr/sbin/dovecot
Full RELRO  Canary found  NX enabled  PIE enabled  No RPATH  No RUNPATH

dovecot                   /usr/lib64/dovecot/libdovecot-login.so
dovecot                   /usr/lib64/dovecot/libdovecot-login.so.0
dovecot                   /usr/lib64/dovecot/libdovecot-login.so.0.0.0
dovecot                   /usr/lib64/dovecot/libdovecot-sql.so
dovecot                   /usr/lib64/dovecot/libdovecot-sql.so.0
dovecot                   /usr/lib64/dovecot/libdovecot-sql.so.0.0.0
dovecot                   /usr/lib64/dovecot/libdovecot-storage.so
dovecot                   /usr/lib64/dovecot/libdovecot-storage.so.0
dovecot                   /usr/lib64/dovecot/libdovecot-storage.so.0.0.0
dovecot                   /usr/lib64/dovecot/libdovecot.so
dovecot                   /usr/lib64/dovecot/libdovecot.so.0
dovecot                   /usr/lib64/dovecot/libdovecot.so.0.0.0
dovecot                   /usr/lib64/dovecot/libssl_iostream_openssl.so

Reply via email to