From f57b9eaa9f628803346bc986e335c0c76abdb420 Mon Sep 17 00:00:00 2001 From: Razvan-Liviu Varzaru Date: Mon, 21 Oct 2024 12:16:19 +0300 Subject: [PATCH] SUSE fixes - ID_LIKE may not exist - upgrade command does not exist for zypper - set delimiter for zypper packages -r output - suppress libmecab diffs to account for old/new bb env diffs - add krb5/judy/lzo to opensuse images to allow creating rpm packages for lzo, oqgraph, and gssap --- ci_build_images/opensuse.Dockerfile | 3 +++ scripts/bash_lib.sh | 17 ++++++++++++----- scripts/rpm-upgrade.sh | 8 +++++++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ci_build_images/opensuse.Dockerfile b/ci_build_images/opensuse.Dockerfile index 75fdad63..eb8e7397 100644 --- a/ci_build_images/opensuse.Dockerfile +++ b/ci_build_images/opensuse.Dockerfile @@ -34,6 +34,8 @@ RUN zypper update -y \ git \ glibc-locale \ jemalloc-devel \ + judy-devel \ + krb5-devel \ libaio-devel \ libboost_filesystem1_75_0-devel \ libboost_program_options1_75_0-devel \ @@ -46,6 +48,7 @@ RUN zypper update -y \ libopenssl-3-devel \ liburing2-devel \ libxml2-devel \ + lzo-devel \ pam-devel \ pcre2-devel \ perl-Net-SSLeay \ diff --git a/scripts/bash_lib.sh b/scripts/bash_lib.sh index 5e3403eb..a9c61241 100644 --- a/scripts/bash_lib.sh +++ b/scripts/bash_lib.sh @@ -215,7 +215,7 @@ rpm_repoquery() { set +u # return full package list from repository if [[ $ID_LIKE =~ ^suse* ]]; then - zypper packages -r "${repo_name}" | grep "MariaDB" | awk '{print $4}' #After cache is made, no need for sudo + zypper packages -r "${repo_name}" | grep "MariaDB" | awk -F ' \\| ' '{print $3}' #After cache is made, no need for sudo else repoquery --disablerepo=* --enablerepo="${repo_name}" -a -q | cut -d ":" -f1 | sort -u | sed 's/-0//' @@ -314,10 +314,12 @@ module_hotfixes = 1 gpgkey=https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF + + set +u + #ID_LIKE may not exist if [[ $ID_LIKE =~ ^suse* ]]; then sudo zypper --gpg-auto-import-keys refresh mariadb fi - set +u } deb_setup_bb_artifacts_mirror() { @@ -581,13 +583,15 @@ check_upgraded_versions() { # # Remove after Q4 2024 release - sed -i '/libaio.so/d;liburing.so/d' ./reqs-*.cmp - sed -i '/libaio.so/d;liburing.so/d' ./ldd-*.cmp + sed -i '/libaio.so/d;/liburing.so/d' ./reqs-*.cmp + sed -i '/libaio.so/d;/liburing.so/d' ./ldd-*.cmp sed -i '/lsof/d' ./reqs-*.cmp - #Account for mariadb-plugin-mroonga diffs in Debian-11 + #Account for mariadb-plugin-mroonga diffs in Debian sed -i '/liblz4-1/d' ./reqs-*.cmp sed -i '/liblz4.so.1/d' ./ldd-*.cmp + sed -i '/libmecab2/d' ./reqs-*.cmp + sed -i '/libmecab.so.2/d' ./ldd-*.cmp # End of temporary adjustments @@ -654,12 +658,15 @@ collect_dependencies() { pkgtype=$2 bb_log_info "Collecting dependencies for the ${old_or_new} server" set +x + # Spider_package_list variable does not exist for RPM upgrades. + set +u for p in ${package_list} ${spider_package_list} ; do if [[ "$p" =~ columnstore ]] ; then suffix="columnstore" else suffix="main" fi + set -u echo "-----------------" >> "./reqs-${suffix}.${old_or_new}" echo "$p:" >> "./reqs-${suffix}.${old_or_new}" diff --git a/scripts/rpm-upgrade.sh b/scripts/rpm-upgrade.sh index 0460a4d1..b893bd96 100755 --- a/scripts/rpm-upgrade.sh +++ b/scripts/rpm-upgrade.sh @@ -148,13 +148,19 @@ bb_log_info "Package_list: $package_list" # sudo rm -rf # /etc/zypp/repos.d/SUSE_Linux_Enterprise_Server_12_SP3_x86_64:SLES12-SP3-Updates.repo # /etc/zypp/repos.d/SUSE_Linux_Enterprise_Server_12_SP3_x86_64:SLES12-SP3-Pool.repo + +# ID_LIKE may not exist +set +u if [[ $ID_LIKE =~ ^suse* ]]; then sudo "$pkg_cmd" clean --all pkg_cmd_options="-n" + pkg_cmd_upgrade="update" else sudo "$pkg_cmd" clean all pkg_cmd_options="-y" + pkg_cmd_upgrade="upgrade" fi +set -u # Install previous release echo "$package_list" | xargs sudo "$pkg_cmd" "$pkg_cmd_options" install || @@ -263,7 +269,7 @@ if [[ $test_type == "major" ]]; then echo "$package_list" | xargs sudo "$pkg_cmd" "$pkg_cmd_options" install else # minor upgrade (upgrade works) - echo "$package_list" | xargs sudo "$pkg_cmd" "$pkg_cmd_options" upgrade + echo "$package_list" | xargs sudo "$pkg_cmd" "$pkg_cmd_options" "$pkg_cmd_upgrade" fi # set +e