diff --git a/play.d/t1client.sh b/play.d/t1client.sh index 516f1fef..6ba82f35 100755 --- a/play.d/t1client.sh +++ b/play.d/t1client.sh @@ -10,19 +10,9 @@ URL="https://confluence.trassir.com/pages/viewpage.action?pageId=36865118" warn_version_is_not_supported -case "$(epm print info -p)" in - rpm) - PKGURL="https://ncloud.dssl.ru/s/SF7LcjPXa6oLbAN/download/t1client-standalone-13209.rpm" - ;; - *) - PKGURL="https://ncloud.dssl.ru/s/QEo4jzTD39KYTze/download/t1client-standalone-4.7.5.0-1269280-Release.deb" - ;; -esac - -case "$(epm print info -s)" in - alt) - PKGURL="https://ncloud.dssl.ru/s/QEo4jzTD39KYTze/download/t1client-standalone-4.7.5.0-1269280-Release.deb" - ;; -esac +# The upstream rpm advertises a large obsolete runtime stack as external +# dependencies on rpm-based systems. The deb bundle repacks more cleanly after +# trimming legacy helper trees in repack.d, so use it on every target. +PKGURL="https://ncloud.dssl.ru/public.php/dav/files/WQqtPwda5KNyHzK" install_pkgurl diff --git a/repack.d/t1client-standalone.sh b/repack.d/t1client-standalone.sh index 692ea76a..5f084c9d 100755 --- a/repack.d/t1client-standalone.sh +++ b/repack.d/t1client-standalone.sh @@ -9,10 +9,62 @@ PRODUCTDIR=/opt/dssl/t1client . $(dirname $0)/common-chromium-browser.sh +# generic.sh prepends a python3 shebang to every *.py in BUILDROOT. +# That breaks TRASSIR's signed vendor bundle: vendor.sign no longer matches +# vendor/DSSL/scripts-stock/pacs-client.py, and the client aborts on startup. +# Restore the upstream file contents for the bundled Python trees. +find "$BUILDROOT$PRODUCTDIR" -type f -name '*.py' \ + -exec sed -i -e '1{/^#!\/usr\/bin\/python3$/d;}' '{}' \; + add_bin_link_command $PRODUCT $PRODUCTDIR/run_t1client.sh fix_desktop_file /opt/dssl/t1client/run_t1client.sh $PRODUCT +# Keep the bundled dependencies/ runtime: it carries the old Qt/ffmpeg/boost +# stack the client actually links against. Only strip clearly optional modules +# inside it that pull in dead legacy dependencies on ALT. +QT4PLUGINDIR="$PRODUCTDIR/dependencies/lib64/qt4/plugins" +PYTHON27DIR="$PRODUCTDIR/dependencies/lib64/python2.7" + +for dir in \ + "$QT4PLUGINDIR/designer" \ + "$QT4PLUGINDIR/qmltooling" \ + "$PYTHON27DIR/site-packages/rpm" +do + remove_dir "$dir" +done + +for file in \ + "$QT4PLUGINDIR/script/libqtscriptdbus.so" \ + "$QT4PLUGINDIR/imageformats/libqmng.so" \ + "$QT4PLUGINDIR/imageformats/libqtiff.so" \ + "$QT4PLUGINDIR/accessible/libqtaccessiblecompatwidgets.so" \ + "$QT4PLUGINDIR/sqldrivers/libqsqlmysql.so" \ + "$PYTHON27DIR/lib-dynload/gdbmmodule.so" \ + "$PYTHON27DIR/lib-dynload/dbm.so" \ + "$PYTHON27DIR/lib-dynload/readline.so" \ + "$PYTHON27DIR/site-packages/numpy/linalg/lapack_lite.so" \ + "$PYTHON27DIR/site-packages/numpy/core/_dotblas.so" \ + "$PYTHON27DIR/site-packages/Crypto/Cipher/_DES.so" \ + "$PYTHON27DIR/site-packages/Crypto/Cipher/_DES3.so" \ + "$PYTHON27DIR/site-packages/talloc.so" \ + "$PYTHON27DIR/site-packages/sepolicy/policy.so" \ + "$PYTHON27DIR/site-packages/_semanage.so" +do + remove_file "$file" +done + +# Optional legacy capture helpers ship another obsolete dependency tail +# (old ffmpeg/opencv/boost/openssl sonames) that is not installable on ALT. +for dir in \ + "$PRODUCTDIR/subgrabhcnet" \ + "$PRODUCTDIR/subgrabhcnetv5" +do + remove_dir "$dir" +done + +remove_file "$PRODUCTDIR/lib32/libStreamTransClient.so" + # disable auto req #ignore_lib_requires 'libmng.so.1' #add_libs_requires