From 61caff7bab4f3a809b1d0e0f8c327b177e62a2df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sat, 8 Jun 2024 11:56:28 +0200 Subject: [PATCH 1/6] Fix newer versions of rpmbuild not finding the LICENSE file. --- pkg-scripts/overte-server.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg-scripts/overte-server.spec b/pkg-scripts/overte-server.spec index 2857526295..6d89d547a9 100644 --- a/pkg-scripts/overte-server.spec +++ b/pkg-scripts/overte-server.spec @@ -1,5 +1,5 @@ # Copyright 2020-2021 Vircadia contributors. -# Copyright 2022 Overte e.V. +# Copyright 2022-2024 Overte e.V. # SPDX-License-Identifier: Apache-2.0 #OVERTE=~/Overte rpmbuild --target x86_64 -bb overte-server.spec @@ -75,11 +75,12 @@ chrpath -d $RPM_BUILD_ROOT/opt/overte/plugins/*.so chrpath -d $RPM_BUILD_ROOT/opt/overte/plugins/*/*.so strip --strip-all $RPM_BUILD_ROOT/opt/overte/plugins/*.so strip --strip-all $RPM_BUILD_ROOT/opt/overte/plugins/*/*.so +cp $OVERTE/LICENSE $RPM_BUILD_ROOT/usr/share/licenses/overte-server/LICENSE find $RPM_BUILD_ROOT/opt/overte/resources -name ".gitignore" -delete %files -%license $OVERTE/LICENSE +%license /usr/share/licenses/overte-server/LICENSE /opt/overte /usr/lib/systemd/system From 6bbc7b40d609e4dca09daef862a84f52afb072fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sat, 8 Jun 2024 11:56:43 +0200 Subject: [PATCH 2/6] Fix egrep deprecation warning. --- pkg-scripts/make-rpm-server | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg-scripts/make-rpm-server b/pkg-scripts/make-rpm-server index 146788329f..cf84bb97f2 100755 --- a/pkg-scripts/make-rpm-server +++ b/pkg-scripts/make-rpm-server @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2020-2021 Vircadia contributors. -# Copyright 2022-2023 Overte e.V. +# Copyright 2022-2024 Overte e.V. # SPDX-License-Identifier: Apache-2.0 if [ "$OVERTE" = "" ]; then @@ -55,7 +55,7 @@ DEPENDS=mesa-libGL,`ls \ | xargs -I {} sh -c 'objdump -p {} | grep NEEDED' \ | awk '{print $2}' \ | sort | uniq \ - | egrep -v "^($SOFILES)$" \ + | grep -E -v "^($SOFILES)$" \ | grep -v ^libGL \ | xargs -I {} sh -c "ldconfig -p | grep {} | tr ' ' '\n' | grep /" \ | xargs rpm -qf --queryformat "%{NAME}\n" \ @@ -73,7 +73,7 @@ DEPENDS=mesa-libGL,`ls \ | xargs -I {} sh -c 'objdump -p {} | grep NEEDED' \ | awk '{print $2}' \ | sort | uniq \ - | egrep -v "^($SOFILES)$" \ + | grep -E -v "^($SOFILES)$" \ | grep -v ^libGL \ | xargs -I {} sh -c "ldconfig -p | grep {} | tr ' ' '\n' | grep /" \ | xargs rpm -qf --queryformat "%{NAME}\n" \ From 47771666596eff213a128b16ca4f41aadce46b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sat, 8 Jun 2024 11:56:59 +0200 Subject: [PATCH 3/6] Add Dockerfile for building servers on Fedora 40. --- .../rpm_package/Dockerfile_build_fedora-40 | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tools/ci-scripts/rpm_package/Dockerfile_build_fedora-40 diff --git a/tools/ci-scripts/rpm_package/Dockerfile_build_fedora-40 b/tools/ci-scripts/rpm_package/Dockerfile_build_fedora-40 new file mode 100644 index 0000000000..d9a9d994c3 --- /dev/null +++ b/tools/ci-scripts/rpm_package/Dockerfile_build_fedora-40 @@ -0,0 +1,20 @@ +# Copyright 2022-2024 Overte e.V. +# SPDX-License-Identifier: Apache-2.0 + +# Docker file for building Overte Server +# Example build: docker build -t overte/overte-server-build:0.1.4-fedora-40 -f Dockerfile_build_fedora-40 . +FROM fedora:40 +LABEL maintainer="Julian Groß (julian.gro@overte.org)" +LABEL description="Development image for Overte Domain server and assignment clients." + +# Install Overte domain-server and assignment-client build dependencies +RUN dnf -y install curl ninja-build git cmake gcc gcc-c++ openssl-devel qt5-qtwebsockets-devel qt5-qtmultimedia-devel unzip libXext-devel qt5-qtwebchannel-devel qt5-qtwebengine-devel qt5-qtxmlpatterns-devel systemd-devel python3 + +# Install additional build tools +RUN dnf -y install zip unzip + +# Install tools for package creation +RUN dnf -y install chrpath rpmdevtools + +# Install tools needed for our Github Actions Workflow +Run dnf -y install python3-boto3 python3-pygithub From 04e0a5f4fda56fab3e3ac0e635bffbc8392fca67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sat, 8 Jun 2024 11:59:56 +0200 Subject: [PATCH 4/6] Enable Fedora-39 linux_server_build workflow. --- .github/workflows/linux_server_build.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index 6192d52545..67faf39f11 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -85,16 +85,15 @@ jobs: arch: aarch64 runner: linux_aarch64 - # Packaging broken; See: https://github.com/overte-org/overte/issues/968 - #~ - os: fedora-39 - #~ image: docker.io/overte/overte-server-build:0.1.4-fedora-39-amd64 - #~ arch: amd64 - #~ runner: linux_amd64 + - os: fedora-39 + image: docker.io/overte/overte-server-build:0.1.4-fedora-39-amd64 + arch: amd64 + runner: linux_amd64 - #~ - os: fedora-39 - #~ image: docker.io/overte/overte-server-build:0.1.4-fedora-39-aarch64 - #~ arch: aarch64 - #~ runner: linux_aarch64 + - os: fedora-39 + image: docker.io/overte/overte-server-build:0.1.4-fedora-39-aarch64 + arch: aarch64 + runner: linux_aarch64 - os: rockylinux-9 image: docker.io/overte/overte-server-build:0.1.3-rockylinux-9-amd64 From a882e247c12875ebcbf619e42237083ab110bd9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sat, 8 Jun 2024 12:00:34 +0200 Subject: [PATCH 5/6] Enable Fedora-40 linux_server_build workflow. --- .github/workflows/linux_server_build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index 67faf39f11..195a589de0 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -95,6 +95,16 @@ jobs: arch: aarch64 runner: linux_aarch64 + - os: fedora-40 + image: docker.io/overte/overte-server-build:0.1.4-fedora-39-amd64 + arch: amd64 + runner: linux_amd64 + + - os: fedora-40 + image: docker.io/overte/overte-server-build:0.1.4-fedora-39-aarch64 + arch: aarch64 + runner: linux_aarch64 + - os: rockylinux-9 image: docker.io/overte/overte-server-build:0.1.3-rockylinux-9-amd64 arch: amd64 From 0c600d349f8946b1ad89aa8c2052f90ec28e9a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sat, 8 Jun 2024 12:01:39 +0200 Subject: [PATCH 6/6] Remove Fedora 38 since it's End Of Life. --- .github/workflows/linux_server_build.yml | 10 ---------- .../rpm_package/Dockerfile_build_fedora-38 | 20 ------------------- 2 files changed, 30 deletions(-) delete mode 100644 tools/ci-scripts/rpm_package/Dockerfile_build_fedora-38 diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index 195a589de0..df06e9e758 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -75,16 +75,6 @@ jobs: arch: aarch64 runner: linux_aarch64 - - os: fedora-38 - image: docker.io/overte/overte-server-build:0.1.3-fedora-38-amd64 - arch: amd64 - runner: linux_amd64 - - - os: fedora-38 - image: docker.io/overte/overte-server-build:0.1.3-fedora-38-aarch64 - arch: aarch64 - runner: linux_aarch64 - - os: fedora-39 image: docker.io/overte/overte-server-build:0.1.4-fedora-39-amd64 arch: amd64 diff --git a/tools/ci-scripts/rpm_package/Dockerfile_build_fedora-38 b/tools/ci-scripts/rpm_package/Dockerfile_build_fedora-38 deleted file mode 100644 index c582ea6164..0000000000 --- a/tools/ci-scripts/rpm_package/Dockerfile_build_fedora-38 +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2022-2023 Overte e.V. -# SPDX-License-Identifier: Apache-2.0 - -# Docker file for building Overte Server -# Example build: docker build -t overte/overte-server-build:0.1.3-fedora-38 -f Dockerfile_build_fedora-38 . -FROM fedora:38 -LABEL maintainer="Julian Groß (julian.gro@overte.org)" -LABEL description="Development image for Overte Domain server and assignment clients." - -# Install Overte domain-server and assignment-client build dependencies -RUN dnf -y install curl ninja-build git cmake gcc-c++ openssl-devel qt5-qtwebsockets-devel qt5-qtmultimedia-devel unzip libXext-devel qt5-qtwebchannel-devel qt5-qtwebengine-devel qt5-qtxmlpatterns-devel systemd-devel - -# Install additional build tools -RUN dnf -y install zip unzip - -# Install tools for package creation -RUN dnf -y install chrpath rpmdevtools - -# Install tools needed for our Github Actions Workflow -Run dnf -y install python3-boto3 python3-pygithub