overte-thingvellir/pkg-scripts/make-rpm-server
Julian Groß ab878f8813 Update make-rpm-server to remove - characters.
This should prevent errors such as: Illegal char '-' (0x2d) in: Version:        2024.07.1-rc1.3ddd205
2024-07-01 23:33:02 +02:00

89 lines
3 KiB
Bash
Executable file

#!/bin/sh
# Copyright 2020-2021 Vircadia contributors.
# Copyright 2022-2024 Overte e.V.
# SPDX-License-Identifier: Apache-2.0
if [ "$OVERTE" = "" ]; then
OVERTE=`realpath ..`
fi
if [ "$OVERTE_USE_SYSTEM_QT" = "" ]; then
QT5_LIBS=`realpath ~/overte-files/qt/qt5-install/lib`
fi
# The regex below extracts the path from the VCPKG_INSTALL_ROOT variable. Said variable gets populated during the CMake step.
VCPKG_INSTALL_ROOT=`grep VCPKG_INSTALL_ROOT $OVERTE/build/vcpkg.cmake | perl -ne 'm/set\(VCPKG_INSTALL_ROOT\s+\"(.*?)\"/; print $1'`
# Remove minus character from version numbers, because rpmtool doesn't allow them.
VERSION=${RPMVERSION//-}
if [ "$OVERTE_USE_SYSTEM_QT" = "" ]; then
SOFILES=`ls \
$OVERTE/build/libraries/*/*.so \
$VCPKG_INSTALL_ROOT/lib/libnode.so* \
$OVERTE/qt5-install/lib/libQt5Network.so.*.*.* \
$OVERTE/qt5-install/lib/libQt5Core.so.*.*.* \
$OVERTE/qt5-install/lib/libQt5Widgets.so.*.*.* \
$OVERTE/qt5-install/lib/libQt5Gui.so.*.*.* \
$OVERTE/qt5-install/lib/libQt5WebSockets.so.*.*.* \
$OVERTE/qt5-install/lib/libQt5Qml.so.*.*.* \
$OVERTE/qt5-install/lib/libQt5Quick.so.*.*.* \
| sed 's/\./\\\./g' \
| paste -d'|' -s`
else
SOFILES=`ls \
$OVERTE/build/libraries/*/*.so \
$VCPKG_INSTALL_ROOT/lib/libnode.so* \
| sed 's/\./\\\./g' \
| paste -d'|' -s`
fi
if [ "$OVERTE_USE_SYSTEM_QT" = "" ]; then
DEPENDS=mesa-libGL,`ls \
$OVERTE/build/assignment-client/assignment-client \
$OVERTE/build/domain-server/domain-server \
$OVERTE/build/tools/oven/oven \
$OVERTE/build/libraries/*/*.so \
$VCPKG_INSTALL_ROOT/lib/libnode.so* \
$QT5_LIBS/libQt5Network.so.*.*.* \
$QT5_LIBS/libQt5Core.so.*.*.* \
$QT5_LIBS/libQt5Widgets.so.*.*.* \
$QT5_LIBS/libQt5Gui.so.*.*.* \
$QT5_LIBS/libQt5WebSockets.so.*.*.* \
$QT5_LIBS/libQt5Qml.so.*.*.* \
$QT5_LIBS/libQt5Quick.so.*.*.* \
$OVERTE/build/assignment-client/plugins/*.so \
$OVERTE/build/assignment-client/plugins/*/*.so \
| xargs -I {} sh -c 'objdump -p {} | grep NEEDED' \
| awk '{print $2}' \
| sort | uniq \
| grep -E -v "^($SOFILES)$" \
| grep -v ^libGL \
| xargs -I {} sh -c "ldconfig -p | grep {} | tr ' ' '\n' | grep /" \
| xargs rpm -qf --queryformat "%{NAME}\n" \
| sort | uniq \
| paste -d',' -s`
else
DEPENDS=mesa-libGL,`ls \
$OVERTE/build/assignment-client/assignment-client \
$OVERTE/build/domain-server/domain-server \
$OVERTE/build/tools/oven/oven \
$OVERTE/build/libraries/*/*.so \
$VCPKG_INSTALL_ROOT/lib/libnode.so* \
$OVERTE/build/assignment-client/plugins/*.so \
$OVERTE/build/assignment-client/plugins/*/*.so \
| xargs -I {} sh -c 'objdump -p {} | grep NEEDED' \
| awk '{print $2}' \
| sort | uniq \
| grep -E -v "^($SOFILES)$" \
| grep -v ^libGL \
| xargs -I {} sh -c "ldconfig -p | grep {} | tr ' ' '\n' | grep /" \
| xargs rpm -qf --queryformat "%{NAME}\n" \
| sort | uniq \
| paste -d',' -s`
fi
sudo yum install chrpath
export VERSION DEPENDS OVERTE QT5_LIBS VCPKG_INSTALL_ROOT
rpmbuild --target $(uname -m) -bb ./overte-server.spec
mv ~/rpmbuild/RPMS/$(uname -m)/*.rpm .