From cda2642eec69bd9d1ebedc78e3990134cd843006 Mon Sep 17 00:00:00 2001 From: Marco Fargetta Date: Fri, 17 Jan 2025 15:34:11 +0100 Subject: [PATCH 1/2] Make sbin install dir configurable Required in Fedora 42. https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- build.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index d19f31c9c..c084690d5 100755 --- a/build.sh +++ b/build.sh @@ -20,6 +20,7 @@ if [ "$HOSTTYPE" = "x86_64" ]; then else LIB_DIR="/usr/lib" fi +SBIN_DIR="/usr/sbin" SYSCONF_DIR="/etc" SHARE_DIR="/usr/share" @@ -57,6 +58,7 @@ usage() { echo " --prefix-dir= Prefix directory (default: $PREFIX_DIR)." echo " --include-dir= Include directory (default: $INCLUDE_DIR)." echo " --lib-dir= Library directory (default: $LIB_DIR)." + echo " --sbin-dir= Superuser binary directory (default: $SBIN_DIR)" echo " --sysconf-dir= System configuration directory (default: $SYSCONF_DIR)." echo " --share-dir= Share directory (default: $SHARE_DIR)." echo " --cmake= Path to CMake executable" @@ -217,6 +219,9 @@ while getopts v-: arg ; do lib-dir=?*) LIB_DIR=$(readlink -f "$LONG_OPTARG") ;; + sbin-dir=?*) + SBIN_DIR=$(readlink -f "$LONG_OPTARG") + ;; sysconf-dir=?*) SYSCONF_DIR=$(readlink -f "$LONG_OPTARG") ;; @@ -282,8 +287,8 @@ while getopts v-: arg ; do '') break # "--" terminates argument processing ;; - name* | work-dir* | prefix-dir* | include-dir* | lib-dir* | sysconf-dir* | share-dir* | cmake* | \ - java-home* | jni-dir* | install-dir* | \ + name* | work-dir* | prefix-dir* | include-dir* | lib-dir* | sbin-dir* | sysconf-dir* | share-dir* | \ + cmake* | java-home* | jni-dir* | install-dir* | \ source-tag* | spec* | version* | release* | dist*) echo "ERROR: Missing argument for --$OPTARG option" >&2 exit 1 @@ -319,6 +324,7 @@ if [ "$DEBUG" = true ] ; then echo "PREFIX_DIR: $PREFIX_DIR" echo "INCLUDE_DIR: $INCLUDE_DIR" echo "LIB_DIR: $LIB_DIR" + echo "SBIN_DIR: $SBIN_DIR" echo "SYSCONF_DIR: $SYSCONF_DIR" echo "SHARE_DIR: $SHARE_DIR" echo "CMAKE: $CMAKE" @@ -376,6 +382,7 @@ if [ "$BUILD_TARGET" = "dist" ] ; then OPTIONS+=(-DINCLUDE_INSTALL_DIR:PATH="$INCLUDE_DIR") OPTIONS+=(-DLIB_INSTALL_DIR:PATH="$LIB_DIR") + OPTIONS+=(-DSBIN_INSTALL_DIR:PATH="$SBIN_DIR") OPTIONS+=(-DSYSCONF_INSTALL_DIR:PATH="$SYSCONF_DIR") OPTIONS+=(-DSHARE_INSTALL_PREFIX:PATH="$SHARE_DIR") From f6f3347bf853e2f21964dbe78e0f261192080421 Mon Sep 17 00:00:00 2001 From: Marco Fargetta Date: Fri, 17 Jan 2025 16:02:28 +0100 Subject: [PATCH 2/2] Fix dnf localinstall dnf5 drops support `localinstall` but just `install`. --- .github/workflows/build-tests.yml | 2 +- .github/workflows/external-application-connection-tests.yml | 2 +- .github/workflows/pki-build-test.yml | 2 +- .github/workflows/pki-ca-test.yml | 6 +++--- .github/workflows/pki-tools-test.yml | 2 +- .github/workflows/pki-tps-test.yml | 2 +- .github/workflows/tomcat-tests.yml | 2 +- Dockerfile | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-tests.yml b/.github/workflows/build-tests.yml index 2549d7222..dd36ff073 100644 --- a/.github/workflows/build-tests.yml +++ b/.github/workflows/build-tests.yml @@ -194,7 +194,7 @@ jobs: - name: Install RPMs run: | - docker exec jss bash -c "dnf localinstall -y build/RPMS/*.rpm" + docker exec jss bash -c "dnf install -y build/RPMS/*.rpm" - name: Build with Maven run: | diff --git a/.github/workflows/external-application-connection-tests.yml b/.github/workflows/external-application-connection-tests.yml index 5b325ef5f..d543c2adf 100644 --- a/.github/workflows/external-application-connection-tests.yml +++ b/.github/workflows/external-application-connection-tests.yml @@ -80,7 +80,7 @@ jobs: - name: Install packages run: | docker cp /tmp/RPMS/. jss:/root/RPMS/ - docker exec jss bash -c "dnf localinstall -y /root/RPMS/*" + docker exec jss bash -c "dnf install -y /root/RPMS/*" - name: Create postgresql certificates run: | diff --git a/.github/workflows/pki-build-test.yml b/.github/workflows/pki-build-test.yml index a74a0cde3..f7fd8c3c6 100644 --- a/.github/workflows/pki-build-test.yml +++ b/.github/workflows/pki-build-test.yml @@ -42,7 +42,7 @@ jobs: docker exec pki git clone -b master https://github.com/$NAMESPACE/pki docker exec pki dnf builddep -y --skip-unavailable --spec pki/pki.spec docker cp /tmp/RPMS/. pki:/root/RPMS/ - docker exec pki bash -c "dnf localinstall -y /root/RPMS/*" + docker exec pki bash -c "dnf install -y /root/RPMS/*" - name: Build and install PKI run: | diff --git a/.github/workflows/pki-ca-test.yml b/.github/workflows/pki-ca-test.yml index 0eaa29e97..e7a5be90a 100644 --- a/.github/workflows/pki-ca-test.yml +++ b/.github/workflows/pki-ca-test.yml @@ -80,15 +80,15 @@ jobs: run: | # install packages on server docker cp /tmp/RPMS/. pki:/root/RPMS/ - docker exec pki bash -c "dnf localinstall -y /root/RPMS/*" + docker exec pki bash -c "dnf install -y /root/RPMS/*" # install packages on client1 docker cp /tmp/RPMS/. client1:/root/RPMS/ - docker exec client1 bash -c "dnf localinstall -y /root/RPMS/*" + docker exec client1 bash -c "dnf install -y /root/RPMS/*" # install packages on client2 docker cp /tmp/RPMS/. client2:/root/RPMS/ - docker exec client2 bash -c "dnf localinstall -y /root/RPMS/*" + docker exec client2 bash -c "dnf install -y /root/RPMS/*" - name: Install CA run: | diff --git a/.github/workflows/pki-tools-test.yml b/.github/workflows/pki-tools-test.yml index e8c857288..a9d06baf8 100644 --- a/.github/workflows/pki-tools-test.yml +++ b/.github/workflows/pki-tools-test.yml @@ -45,7 +45,7 @@ jobs: - name: Install packages run: | docker cp /tmp/RPMS/. pki:/root/RPMS/ - docker exec pki bash -c "dnf localinstall -y /root/RPMS/*" + docker exec pki bash -c "dnf install -y /root/RPMS/*" - name: Create HSM token run: | diff --git a/.github/workflows/pki-tps-test.yml b/.github/workflows/pki-tps-test.yml index 1cffada74..8a60a95ef 100644 --- a/.github/workflows/pki-tps-test.yml +++ b/.github/workflows/pki-tps-test.yml @@ -61,7 +61,7 @@ jobs: - name: Install packages run: | docker cp /tmp/RPMS/. pki:/root/RPMS/ - docker exec pki bash -c "dnf localinstall -y /root/RPMS/*" + docker exec pki bash -c "dnf install -y /root/RPMS/*" - name: Install CA run: | diff --git a/.github/workflows/tomcat-tests.yml b/.github/workflows/tomcat-tests.yml index 1d113fadd..a089caf08 100644 --- a/.github/workflows/tomcat-tests.yml +++ b/.github/workflows/tomcat-tests.yml @@ -79,7 +79,7 @@ jobs: - name: Install packages run: | docker cp /tmp/RPMS/. server:/root/RPMS/ - docker exec server bash -c "dnf localinstall -y /root/RPMS/*" + docker exec server bash -c "dnf install -y /root/RPMS/*" - name: Create Tomcat run: | diff --git a/Dockerfile b/Dockerfile index 1b6fa66a7..4a1127f05 100644 --- a/Dockerfile +++ b/Dockerfile @@ -66,7 +66,7 @@ FROM jss-deps AS jss-runner COPY --from=jss-dist /root/RPMS /tmp/RPMS/ # Install JSS packages -RUN dnf localinstall -y /tmp/RPMS/* \ +RUN dnf install -y /tmp/RPMS/* \ && dnf clean all \ && rm -rf /var/cache/dnf \ && rm -rf /tmp/RPMS