build: Remove RPATH on install using chrpath 43/26043/4 1.4.0-RC3 2.0.0 2.0.0-RC1
authorPhilippe Coval <philippe.coval@osg.samsung.com>
Fri, 24 Nov 2017 22:08:00 +0000 (23:08 +0100)
committerMats Wichmann <mats@linux.com>
Thu, 12 Jul 2018 18:58:24 +0000 (18:58 +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>
(cherry picked from commit dd22384162f1f744e33f144e1903638243f3dffa)

build_common/SConscript
tools/tizen/iotivity.spec

index 7bd056b..48706e3 100644 (file)
@@ -461,6 +461,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
@@ -478,6 +486,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 e5c458f..815fc50 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}/