build: Remove RPATH on install using chrpath 49/23449/22
authorPhilippe Coval <philippe.coval@osg.samsung.com>
Fri, 24 Nov 2017 22:08:00 +0000 (23:08 +0100)
committerMats Wichmann <mats@linux.com>
Wed, 4 Jul 2018 17:12:03 +0000 (17:12 +0000)
Note to system admin please install the package on infrastructure

This is useful for ARTIK7 support on fedora-24

Bug: https://jira.iotivity.org/browse/IOT-524
Change-Id: I8e046da345b18e5731939c9cb5e5832fa33786b6
Origin: https://gerrit.iotivity.org/gerrit/#/c/23449/
Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
build_common/SConscript
tools/tizen/iotivity.spec

index 7199ea7..0b11dec 100644 (file)
@@ -466,6 +466,14 @@ def __install(ienv, targets, name=''):
         env.AppendUnique(TS=[name])
 
 
+def __chrpath(target, source, env):
+    '''
+    Remove RPATH (if installed elsewhere)
+    '''
+    if target_os in ['linux', 'tizen']:
+        env.Command(None, target, 'chrpath -d $SOURCE')
+
+
 def __installlib(ienv, targets, name=''):
     '''
     Install files to system, using "scons install" and remove rpath info if present
@@ -483,6 +491,8 @@ def __installlib(ienv, targets, name=''):
     else:
         dst_dir  = env.get('BUILD_DIR') + '/deploy'
     action = ienv.Install(dst_dir, targets)
+    if not user_prefix and str(targets[0]).endswith(env['SHLIBSUFFIX']):
+        ienv.AddPostAction(action, __chrpath)
     ienv.Alias("install", action)
 
 
index 1c54013..14140d3 100644 (file)
@@ -213,10 +213,6 @@ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ;
 SCONSFLAGS="%{SCONSFLAGS}" ; export SCONSFLAGS;
 scons --install-sandbox=%{buildroot} install
 
-
-find "%{buildroot}" -type f -perm u+x -exec chrpath -d "{}" \;
-find "%{buildroot}" -type f -iname "lib*.so" -exec chrpath -d "{}" \;
-
 # Support legacy path (transitional, use pkg-config)
 ln -fs iotivity/resource %{buildroot}%{_includedir}/
 ln -fs iotivity/service %{buildroot}%{_includedir}/