1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/sh -x
# It will run with two args: buildroot spec
BUILDROOT="$1"
SPEC="$2"
PRODUCT=zoom
PRODUCTDIR=/opt/zoom
. $(dirname $0)/common-chromium-browser.sh
# TODO: s/freetype/libfreetype/
# see https://bugzilla.altlinux.org/show_bug.cgi?id=38892
# obosleted bug
#if [ ! -f /lib64/ld-linux-x86-64.so.2 ] ; then
# # TODO: use patchelf
# # drop x86_64 req from 32 bit binary
# sed -E -i -e "s@/lib64/ld-linux-x86-64.so.2@/lib/ld-linux.so.2\x0________@" $BUILDROOT/opt/zoom/libQt5Core.so.*
#fi
# TODO: remove it after fix https://bugzilla.altlinux.org/42189
# fix broken symlink
rm -fv $BUILDROOT/usr/bin/zoom
ln -sv /opt/zoom/ZoomLauncher $BUILDROOT/usr/bin/zoom
subst '1i%filter_from_requires /^mesa-dri-drivers(x86-32)/d' $SPEC
# ignore embedded libs requires
for i in libQt5 libav libswresample libfdkaac libmpg123 libquazip libturbojpeg libicu libOpenCL ; do
subst "1i%filter_from_requires /^$i.*/d" $SPEC
done
epm assure patchelf || exit
for i in $BUILDROOT/opt/zoom/lib*.so.* $BUILDROOT/opt/zoom/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/Qt/lib' $i || continue
done
for i in $BUILDROOT/opt/zoom/Qt/lib/*.so.* ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/../../' $i || continue
done
for i in $BUILDROOT/opt/zoom/Qt/plugins/*/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../lib' $i || continue
done
for i in $BUILDROOT/opt/zoom/Qt/qml/QtQuick/*/lib*.so.* $BUILDROOT/opt/zoom/Qt/qml/QtQuick/XmlListModel/lib* $BUILDROOT/opt/zoom/Qt/qml/QtQml/RemoteObjects/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../../lib' $i || continue
done
for i in $BUILDROOT/opt/zoom/Qt/qml/Qt/labs/*/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../../../lib' $i
done
#for i in $BUILDROOT/opt/zoom/cef/libcef.so ; do
# a= patchelf --set-rpath '$ORIGIN/../' $i || continue
#done
for i in $BUILDROOT/opt/zoom/{zoom,zopen} ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/Qt/lib:$ORIGIN/cef' $i
done
# missed Qt deps
remove_file /opt/zoom/Qt/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
remove_file /opt/zoom/Qt/qml/QtQuick/Scene2D/libqtquickscene2dplugin.so
remove_file /opt/zoom/Qt/qml/QtQuick/Scene3D/libqtquickscene3dplugin.so
echo "Fix for library libQt5Multimedia.so.5 not found"
remove_file /opt/zoom/Qt/plugins/audio/libqtaudio_alsa.so
remove_file /opt/zoom/Qt/plugins/audio/libqtmedia_pulse.so
# library libQt5RemoteObjects.so.5 not found
remove_file /opt/zoom/Qt/qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so
# library libQt5Sql.so.5 not found
remove_file /opt/zoom/Qt/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
# library libQt5QuickParticles.so.5 not found
remove_file /opt/zoom/Qt/qml/QtQuick/Particles.2/libparticlesplugin.so
echo "Fix for /opt/zoom/Qt/qml/Qt/labs/lottieqt/liblottieqtplugin.so: library libQt5Bodymovin.so.5 not found"
# qt5-qtlottie
remove_file /opt/zoom/Qt/qml/Qt/labs/lottieqt/liblottieqtplugin.so
# library libQt5EglFSDeviceIntegration.so.5 not found
remove_file /opt/zoom/Qt/plugins/platforms/libqeglfs.so
remove_dir /opt/zoom/Qt/plugins/egldeviceintegrations
install_deps
epm --skip-installed install glib2 libalsa libatk libat-spi2-core libcairo libcairo-gobject libcups libdbus libdrm libEGL libexpat libgbm libgdk-pixbuf libgio libGL libgomp1 libgtk+3 libkrb5 libnspr libnss libpango libpulseaudio libwayland-client libwayland-cursor libwayland-egl libX11 libxcb libxcb-render-util libxcbutil-icccm libxcbutil-image libxcbutil-keysyms libXcomposite libXdamage libXext libXfixes libxkbcommon libxkbcommon-x11 libXrandr libXtst zlib
fix_chrome_sandbox $PRODUCTDIR/cef/chrome-sandbox