Commit 55eb0265 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm repack: do elf fix only if patchelf is available

parent 6d01f38f
......@@ -57,9 +57,8 @@ remove_file /opt/eagle/lib/libxcb-dri2.so.0
remove_file /opt/eagle/lib/libxcb-dri3.so.0
epm assure patchelf || exit
for i in $BUILDROOT/$PRODUCTDIR/lib/{libssl.so,libssl.so.1.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
if epm assure patchelf ; then
for i in $BUILDROOT/$PRODUCTDIR/lib/{libssl.so,libssl.so.1.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
fi
......@@ -28,7 +28,7 @@ remove_file $PRODUCTDIR/etc/Color/nuke-default/make.py
remove_file $PRODUCTDIR/etc/Color/spi-anim/makeconfig_anim.py
remove_file $PRODUCTDIR/etc/Color/spi-vfx/make_vfx_ocio.py
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT$PRODUCTDIR/bin/{djv,djv_*} ; do
a= patchelf --set-rpath '$ORIGIN/../lib' $i
done
......@@ -36,5 +36,6 @@ done
for i in $BUILDROOT$PRODUCTDIR/lib/lib*.so* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
filter_from_requires libav libswresample libswscale
......@@ -55,7 +55,7 @@ pack_file /usr/share/applications/$PRODUCT.desktop
install_file $PRODUCTDIR/SweetHome3DIcon.png /usr/share/pixmaps/$PRODUCT.png
cd $BUILDROOT$PRODUCTDIR/ || fatal
epm assure patchelf || exit
if epm assure patchelf ; then
for i in runtime/lib/amd64/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/server:$ORIGIN/jli' $i
done
......@@ -69,6 +69,7 @@ for i in lib/java3d-1.6/lib*.so lib/yafaray/lib*.so ; do
[ -r "$i" ] || continue
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/../../runtime/lib/amd64' $i
done
fi
chmod -v a+x runtime/bin/*
......
......@@ -38,7 +38,7 @@ LIBDIR=/usr/lib64
# don't check lib if missed
[ ! -d $BUILDROOT$LIBDIR ] && exit
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT$LIBDIR/anydesk/{libgdkglext-x11-1.0.*,libgtkglext-x11-1.0.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
......@@ -47,6 +47,7 @@ done
for i in $BUILDROOT/usr/libexec/anydesk ; do
a= patchelf --set-rpath "$LIBDIR/anydesk" $i
done
fi
# preloaded from /usr/lib64/anydesk/, drop external requires
filter_from_requires libpangox-1.0.so.0 libgdkglext-x11-1.0.so.0 libgtkglext-x11-1.0.so.0
......
......@@ -56,7 +56,7 @@ subst "s|.*/opt/icq/unittests.*||" $SPEC
# ignore embedded libs
filter_from_requires libQt5 libxcb "libX.*"
epm assure patchelf || exit
if epm assure patchelf ; then
cd $BUILDROOT$PRODUCTDIR
for i in $PRODUCT ; do
a= patchelf --set-rpath '$ORIGIN/lib' $i
......@@ -73,4 +73,4 @@ done
for i in QtQuick/*/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../lib' $i
done
fi
......@@ -10,11 +10,12 @@ PRODUCTDIR=/opt/ipera
LIBDIR=$(echo $BUILDROOT/opt/ipera/client/*/lib)
[ -d "$LIBDIR" ] || exit
epm assure patchelf || exit
if epm assure patchelf ; then
cd $LIBDIR
for i in lib*.so.* gstreamer-0.10/lib*.so.* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
#for i in ../bin/qml/QtQuick/Particles.2/libparticlesplugin.so ; do
# a= patchelf --set-rpath "$LIBDIR" $i
......
......@@ -9,7 +9,7 @@ PRODUCTDIR=/opt/ipera/mediaserver
remove_dir /etc/init
epm assure patchelf || exit
if epm assure patchelf ; then
cd $BUILDROOT$PRODUCTDIR || exit
for i in lib/lib*.so.* ; do
a= patchelf --set-rpath '$ORIGIN' $i
......@@ -18,6 +18,7 @@ done
for i in bin/plugins_optional/lib*.so bin/plugins/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../lib' $i
done
fi
filter_from_requires "libldap_r-2.4.so.2(OPENLDAP_2.*)(64bit)" "liblber-2.4.so.2(OPENLDAP_2.*)(64bit)" "ld-linux-.*(GLIBC_PRIVATE)"
filter_from_requires libQt5 libGL libicu
......@@ -25,7 +25,8 @@ chmod -R a+rX .
install_file $PRODUCTDIR/icon.png /usr/share/pixmaps/$ICONFILE
epm assure patchelf || exit
for i in IWB_Driver libQt*.so.* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
if epm assure patchelf ; then
for i in IWB_Driver libQt*.so.* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
......@@ -19,7 +19,7 @@ fix_desktop_file "/usr/share/$PRODUCT/$PRODUCT"
rm -f $BUILDROOT/usr/bin/librewolf
add_bin_link_command
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT/$PRODUCTDIR/{lib*.so,plugin-container} ; do
a= patchelf --set-rpath '$ORIGIN/' $i || continue
done
......@@ -27,4 +27,4 @@ done
for i in $BUILDROOT/$PRODUCTDIR/gmp-clearkey/0.1/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../' $i || continue
done
fi
......@@ -24,8 +24,8 @@ subst "s|Руѝѝкий|Русский|" $BUILDROOT/opt/mssql/lib/mssql-conf/mss
subst 's|sysctl|/sbin/sysctl|' $BUILDROOT/opt/mssql/bin/crash-support-functions.sh
subst 's|/usr/bin/basename|/bin/basename|' $BUILDROOT/opt/mssql/bin/*.sh
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT/opt/mssql/lib/libunwind-x86_64.so.8 ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
fi
......@@ -22,7 +22,7 @@ for i in $BUILDROOT/opt/onlyoffice/desktopeditors/lib* ; do
filter_from_requires $di
done
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT/opt/onlyoffice/desktopeditors/{libQt5Core.so.*,libicui18n.so,libicui18n.so.*,libicuuc.so,libicuuc.so.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i || continue
done
......@@ -30,6 +30,7 @@ done
for i in $BUILDROOT/opt/onlyoffice/desktopeditors/converter/*.so ; do
a= patchelf --set-rpath '$ORIGIN/:$ORIGIN/../' $i || continue
done
fi
# pack icons
iconname=onlyoffice-desktopeditors
......
......@@ -57,10 +57,11 @@ fix_chrome_sandbox $PRODUCTDIR/opera_sandbox
# TODO: it is possible we will not require this if link bin->/opt/dir/name is relative
# fix to support pack links in /usr/bin (may be this is a bug?)
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT$PRODUCTDIR/$PRODUCTCUR ; do
a= patchelf --set-rpath "$PRODUCTDIR/lib_extra:$PRODUCTDIR" $i
done
fi
#subst '1iRequires: chromium-codecs-ffmpeg-extra >= 103' $SPEC
......
......@@ -71,11 +71,11 @@ done
cd $BUILDROOT$PRODUCTDIR/ || exit
epm assure patchelf || exit
if epm assure patchelf ; then
for i in jbr/lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/server:$ORIGIN' $i
done
fi
subst 's|%dir "'$PRODUCTDIR'/"||' $SPEC
subst 's|%dir "'$PRODUCTDIR'/bin/"||' $SPEC
......
......@@ -78,7 +78,7 @@ cd $BUILDROOT$PRODUCTDIR/ || exit
file=$(basename $(ls $BUILDROOT$PRODUCTDIR/plugins/tailwindcss/server/node.napi.musl-*.node))
[ -n "$file" ] && remove_file $PRODUCTDIR/plugins/tailwindcss/server/$file
epm assure patchelf || exit
if epm assure patchelf ; then
for i in jbr/lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/server:$ORIGIN' $i
done
......@@ -86,6 +86,7 @@ done
for i in plugins/remote-dev-server/selfcontained/lib/lib*.so* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
subst 's|%dir "'$PRODUCTDIR'/"||' $SPEC
......
......@@ -19,7 +19,7 @@ PRODUCTDIR=/opt/r7-office
filter_from_requires ".*libQt5"
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT$PRODUCTDIR/{desktopeditors,mediaviewer}/{libQt5Core.so.*,libicui18n.so,libicui18n.so.*,libicuuc.so,libicuuc.so.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i || continue
done
......@@ -27,6 +27,7 @@ done
for i in $BUILDROOT$PRODUCTDIR/desktopeditors/{converter,platforms,platforminputcontexts}/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/:$ORIGIN/../' $i || continue
done
fi
#subst '1iAutoReq:no' $SPEC
subst '1iAutoProv:no' $SPEC
......
......@@ -48,10 +48,11 @@ install_file /usr/share/rustdesk/files/rustdesk.png /usr/share/pixmaps/$ICONFILE
#move_to_opt /usr/lib/rustdesk
add_bin_link_command
epm assure patchelf || fatal
if epm assure patchelf ; then
for i in $BUILDROOT/$PRODUCTDIR/lib/*.so ; do
a= patchelf --set-rpath '$ORIGIN/' $i || continue
done
fi
filter_from_requires /etc/X11/xinit/Xsession /etc/default/locale /usr/etc/X11/xdm/Xsession
......
......@@ -15,7 +15,7 @@ cd $BUILDROOT/$PRODUCTDIR || exit
# disable autoupdate
remove_file $PRODUCTDIR/package/cloudstation/bin/cloud-drive-auto-updater
epm assure patchelf || exit
if epm assure patchelf ; then
for i in lib/lib*.so.* package/cloudstation/lib/lib*.so.* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
......@@ -28,6 +28,7 @@ done
for i in bin/launcher package/cloudstation/bin/cloud-drive-* ; do
a= patchelf --set-rpath '$ORIGIN/../lib' $i
done
fi
# TODO: some dependency leak?
# ignore embedded libs
......
......@@ -58,10 +58,11 @@ filter_from_requires '\\/bin\\/ip'
# ignore embedded libs
filter_from_requires libQt5
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT$PRODUCTDIR/tv_bin/RTlib/{libicui18n.so.*,libicuuc.so.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
fi
remove_file $PRODUCTDIR/tv_bin/RTlib/qt/qml/QtWebEngine/libqtwebengineplugin.so.debug
remove_file $PRODUCTDIR/tv_bin/RTlib/qt/qml/QtWebChannel/libdeclarative_webchannel.so.debug
......@@ -12,7 +12,7 @@ add_bin_link_command
chmod a+x $BUILDROOT/opt/trueconf/trueconf
chmod a+x $BUILDROOT/opt/trueconf/trueconf-autostart
epm assure patchelf || exit
if epm assure patchelf ; then
for i in lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN' $BUILDROOT$PRODUCTDIR/$i
done
......@@ -20,6 +20,7 @@ done
for i in TrueConf ; do
a= patchelf --set-rpath '$ORIGIN/lib' $BUILDROOT$PRODUCTDIR/$i
done
fi
# libhwloc.so.5 => not found (we have only libhwloc.so.15)
remove_file $PRODUCTDIR/lib/libtbbbind.so
......
......@@ -33,12 +33,11 @@ pack_dir $PRODUCTDIR/bin
add_bin_link_command $PRODUCT /usr/bin/heaven
epm assure patchelf || exit
if epm assure patchelf ; then
for i in *_x64 lib*_x64.so* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
mkdir -p $BUILDROOT/usr/bin
cat <<EOF >$BUILDROOT/usr/bin/heaven
......
......@@ -21,12 +21,13 @@ for i in bin data docs ; do
subst "s|\"/$i/|\"$PRODUCTDIR/$i/|" $SPEC
done
epm assure patchelf || exit
cd $BUILDROOT/$PRODUCTDIR || fatal
if epm assure patchelf ; then
for i in bin/lib*.so bin/qt/lib/lib*.so*; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
# pack icons
for i in 16 24 32 48 64 128 256 ; do
......
......@@ -16,12 +16,13 @@ subst '1iAutoProv:no' $SPEC
remove_file /usr/local/bin/$PRODUCT
add_bin_link_command
epm assure patchelf || exit
cd $BUILDROOT$PRODUCTDIR
if epm assure patchelf ; then
for i in lib* $PRODUCT ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
epm install --skip-installed libmfx || epm install 316139 || fatal "Can't install libmfx"
......
......@@ -53,10 +53,10 @@ install_file $ICONURL /usr/share/pixmaps/$PRODUCT.png
subst "s|.*$PRODUCTDIR/unittests.*||" $SPEC
epm assure patchelf || exit
cd $BUILDROOT$PRODUCTDIR
if epm assure patchelf ; then
for i in $PRODUCT ; do
a= patchelf --set-rpath '$ORIGIN/lib' $i
done
......@@ -73,6 +73,8 @@ for i in QtQuick/*/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../lib' $i
done
fi
# FIXME: check the full list
filter_from_requires libQt5 libxcb "libX.*"
......@@ -14,7 +14,7 @@ PREINSTALL_PACKAGES="libQt5MultimediaGstTools libQt5WaylandClient libqt5-multime
subst '1iAutoReq:yes,noperl' $SPEC
subst '1iAutoProv:no' $SPEC
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT/opt/XnView/lib/{*.so.*,*.so} ; do
a= patchelf --set-rpath '$ORIGIN/' $i || continue
done
......@@ -27,4 +27,4 @@ done
for i in $BUILDROOT/opt/XnView/XnView ; do
a= patchelf --set-rpath '$ORIGIN/lib/' $i || continue
done
fi
\ No newline at end of file
......@@ -32,7 +32,7 @@ for i in libQt5 libav libswresample libfdkaac libmpg123 libquazip libturbojpeg l
subst "1i%filter_from_requires /^$i.*/d" $SPEC
done
epm assure patchelf || exit
if epm assure patchelf ; then
for i in $BUILDROOT/opt/zoom/lib*.so.* $BUILDROOT/opt/zoom/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/Qt/lib' $i || continue
......@@ -62,6 +62,8 @@ for i in $BUILDROOT/opt/zoom/{zoom,zopen} ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/Qt/lib:$ORIGIN/cef' $i
done
fi
# missed Qt deps
remove_file /opt/zoom/Qt/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
remove_file /opt/zoom/Qt/qml/QtQuick/Scene2D/libqtquickscene2dplugin.so
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment