You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ko...@apache.org on 2022/06/06 03:01:12 UTC

[arrow] branch master updated: ARROW-16745: [Packaging][RPM] Add support for AlmaLinux 9 (#13307)

This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new b050bd0d31 ARROW-16745: [Packaging][RPM] Add support for AlmaLinux 9 (#13307)
b050bd0d31 is described below

commit b050bd0d31db6412256cec3362c0d57c9732e1f2
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Mon Jun 6 12:01:06 2022 +0900

    ARROW-16745: [Packaging][RPM] Add support for AlmaLinux 9 (#13307)
    
    Authored-by: Sutou Kouhei <ko...@clear-code.com>
    Signed-off-by: Sutou Kouhei <ko...@clear-code.com>
---
 c_glib/meson.build                                 |  2 +-
 dev/release/binary-task.rb                         |  1 +
 dev/release/verify-yum.sh                          | 11 +++-
 .../linux-packages/apache-arrow-release/Rakefile   | 17 ++++++
 .../yum/almalinux-9}/Dockerfile                    | 44 ++-------------
 .../apache-arrow/yum/almalinux-8/Dockerfile        |  3 +-
 .../apache-arrow/yum/almalinux-9-aarch64/from      | 18 ++++++
 .../{centos-8-stream => almalinux-9}/Dockerfile    | 16 +++---
 .../apache-arrow/yum/amazon-linux-2/Dockerfile     |  3 +-
 .../linux-packages/apache-arrow/yum/arrow.spec.in  | 64 ++++++++++++++--------
 .../apache-arrow/yum/centos-7/Dockerfile           |  3 +-
 .../apache-arrow/yum/centos-8-stream/Dockerfile    |  3 +-
 dev/tasks/linux-packages/github.linux.amd64.yml    | 39 +------------
 dev/tasks/linux-packages/package-task.rb           |  2 +
 dev/tasks/tasks.yml                                | 33 +++++------
 15 files changed, 130 insertions(+), 129 deletions(-)

diff --git a/c_glib/meson.build b/c_glib/meson.build
index 81352463ae..e9582cf93b 100644
--- a/c_glib/meson.build
+++ b/c_glib/meson.build
@@ -97,7 +97,7 @@ else
 int
 main(void)
 {
-  arrow::adapters::orc::ORCFileReader::Open(nullptr, nullptr, nullptr);
+  arrow::adapters::orc::ORCFileWriter::Open(nullptr);
   return 0;
 }
   '''
diff --git a/dev/release/binary-task.rb b/dev/release/binary-task.rb
index 8f7fc89e19..751f3d186d 100644
--- a/dev/release/binary-task.rb
+++ b/dev/release/binary-task.rb
@@ -1456,6 +1456,7 @@ APT::FTPArchive::Release::Description "#{apt_repository_description}";
 
   def available_yum_targets
     [
+      ["almalinux", "9"],
       ["almalinux", "8"],
       ["amazon-linux", "2"],
       ["centos", "8-stream"],
diff --git a/dev/release/verify-yum.sh b/dev/release/verify-yum.sh
index caed5e37b0..27427fbf49 100755
--- a/dev/release/verify-yum.sh
+++ b/dev/release/verify-yum.sh
@@ -51,11 +51,15 @@ have_gandiva=yes
 have_glib=yes
 have_parquet=yes
 have_python=yes
-install_command="dnf install -y --enablerepo=powertools"
+install_command="dnf install -y --enablerepo=crb"
 
 echo "::group::Prepare repository"
 
 case "${distribution}-${distribution_version}" in
+  almalinux-8)
+    distribution_prefix="almalinux"
+    install_command="dnf install -y --enablerepo=powertools"
+    ;;
   almalinux-*)
     distribution_prefix="almalinux"
     ;;
@@ -78,6 +82,11 @@ case "${distribution}-${distribution_version}" in
     have_python=no
     install_command="yum install -y"
     ;;
+  centos-8)
+    distribution_prefix="centos"
+    repository_version+="-stream"
+    install_command="dnf install -y --enablerepo=powertools"
+    ;;
   centos-*)
     distribution_prefix="centos"
     repository_version+="-stream"
diff --git a/dev/tasks/linux-packages/apache-arrow-release/Rakefile b/dev/tasks/linux-packages/apache-arrow-release/Rakefile
index b85cd90f30..2c9ddfc87b 100644
--- a/dev/tasks/linux-packages/apache-arrow-release/Rakefile
+++ b/dev/tasks/linux-packages/apache-arrow-release/Rakefile
@@ -46,18 +46,35 @@ class ApacheArrowReleasePackageTask < PackageTask
       keys = File.read(keys_path)
       File.open(keys_path, "w") do |keys_file|
         is_ed25519_key = false
+        deny_lists = [
+          # "rpmkeys --import" reports error for this key.
+          # It seems that a subkey of this key may be related. (Is SHA1 bad?)
+          "8CAAD602",
+        ]
+        is_denyed_key = false
         keys.each_line do |line|
           case line.chomp
           when /\Apub\s+ed25519\s/
             is_ed25519_key = true
             next
+          when /\Apub\s+[^\/]+\/([\h]+)\s/
+            short_finger_print = $1
+            if deny_lists.include?(short_finger_print)
+              is_denyed_key = true
+              next
+            end
           when "-----END PGP PUBLIC KEY BLOCK-----"
             if is_ed25519_key
               is_ed25519_key = false
               next
             end
+            if is_denyed_key
+              is_denyed_key = false
+              next
+            end
           else
             next if is_ed25519_key
+            next if is_denyed_key
           end
           keys_file.print(line)
         end
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile b/dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-9/Dockerfile
similarity index 53%
copy from dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
copy to dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-9/Dockerfile
index 2cbef78621..a2383d55a3 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-9/Dockerfile
@@ -15,48 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-ARG FROM=centos:7
-FROM ${FROM}
+FROM almalinux:9
 
 ARG DEBUG
 
 RUN \
   quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
-  yum update -y ${quiet} && \
-  yum install -y ${quiet} epel-release && \
-  yum install -y ${quiet} \
-    bison \
-    boost169-devel \
-    brotli-devel \
-    bzip2-devel \
-    ccache \
-    cmake3 \
-    curl-devel \
-    flex \
-    gcc-c++ \
-    gflags-devel \
-    git \
-    glog-devel \
-    gobject-introspection-devel \
-    gtk-doc \
-    json-devel \
-    libzstd-devel \
-    lz4-devel \
-    make \
-    ninja-build \
-    openssl-devel \
-    pkg-config \
-    python36 \
-    python36-devel \
-    python36-numpy \
-    rapidjson-devel \
-    rpmdevtools \
-    snappy-devel \
-    tar \
-    vala-devel \
-    zlib-devel && \
-  yum clean ${quiet} all
-
-ENV \
-  BOOST_INCLUDEDIR=/usr/include/boost169 \
-  BOOST_LIBRARYDIR=/usr/lib64/boost169
+  dnf install -y ${quiet} \
+    rpmdevtools && \
+  dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile
index df338a2c25..a75fd022bd 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-8/Dockerfile
@@ -60,7 +60,8 @@ RUN \
     rpmdevtools \
     snappy-devel \
     tar \
+    thrift-devel \
     # utf8proc-devel \
-    vala-devel \
+    vala \
     zlib-devel && \
   dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9-aarch64/from b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9-aarch64/from
new file mode 100644
index 0000000000..5fab1520f4
--- /dev/null
+++ b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9-aarch64/from
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+arm64v8/almalinux:9
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile
similarity index 88%
copy from dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
copy to dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile
index 14608bc5e6..df63f7a1a7 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/almalinux-9/Dockerfile
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-ARG FROM=quay.io/centos/centos:stream8
+ARG FROM=almalinux:9
 FROM ${FROM}
 
 ARG DEBUG
@@ -23,7 +23,7 @@ ARG DEBUG
 RUN \
   quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
   dnf install -y ${quiet} epel-release && \
-  dnf install --enablerepo=powertools -y ${quiet} \
+  dnf install --enablerepo=crb -y ${quiet} \
     bison \
     boost-devel \
     brotli-devel \
@@ -37,7 +37,6 @@ RUN \
     gcc-c++ \
     gflags-devel \
     git \
-    glog-devel \
     gobject-introspection-devel \
     gtk-doc \
     json-devel \
@@ -51,16 +50,17 @@ RUN \
     ninja-build \
     openssl-devel \
     pkg-config \
-    python39 \
-    python39-devel \
-    python39-numpy \
-    python39-pip \
+    python3 \
+    python3-devel \
+    python3-numpy \
+    python3-pip \
     re2-devel \
     rapidjson-devel \
     rpmdevtools \
     snappy-devel \
     tar \
+    thrift-devel \
     utf8proc-devel \
-    vala-devel \
+    vala \
     zlib-devel && \
   dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2/Dockerfile
index 4b885a2c41..9409b25c3c 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/amazon-linux-2/Dockerfile
@@ -48,8 +48,9 @@ RUN \
     rpmdevtools \
     snappy-devel \
     tar \
+    thrift-devel \
     utf8proc-devel \
-    vala-devel \
+    vala \
     zlib-devel && \
   # Install ninja-build dependencies in amzn2-core
   yum install -y ${quiet} ninja-build && \
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in b/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
index a8c8ccf2c4..8000a2b253 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
+++ b/dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
@@ -30,29 +30,46 @@
   if [ %{rhel} -lt 8 ]; then \
     echo 3; \
   fi)
+%define python_version %( \
+  if [ %{rhel} -lt 9 ]; then \
+    echo 39; \
+  else \
+    echo 3; \
+  fi)
 
 %define lz4_requirement %( \
   if [ %{_amzn} -eq 0 ]; then \
     echo ">= 1.8.0"; \
   fi)
 
+%if %{rhel} >= 9
+%define arrow_cmake_builddir %{__cmake_builddir}
+%define arrow_cmake %cmake
+%define arrow_cmake_build %cmake_build
+%define arrow_cmake_install %cmake_install
+%else
+%define arrow_cmake_builddir build
+%define arrow_cmake %cmake3 -S . -B %{arrow_cmake_builddir}
+%define arrow_cmake_build ninja -C %{arrow_cmake_builddir} -v
+%define arrow_cmake_install DESTDIR="%{buildroot}" ninja -C %{arrow_cmake_builddir} install
+%endif
+
 %define use_boost (!%{is_amazon_linux})
 %define use_flight (%{rhel} >= 8)
-%define use_gandiva (%{rhel} >= 8 && %{_arch} != "aarch64")
+%define use_gandiva (%{rhel} >= 8 && "%{_arch}" != "aarch64")
 %define use_gcs (%{rhel} >= 8 || %{is_amazon_linux})
 %define use_gflags (!%{is_amazon_linux})
+%define use_glog (%{rhel} <= 8)
 %define use_mimalloc (%{rhel} >= 8)
 %define use_python (%{rhel} >= 8)
 # TODO: Enable this. This works on local but is fragile on GitHub Actions and
 # Travis CI.
-# %define use_s3 (%{rhel} >= 8)
+# %%define use_s3 (%{rhel} >= 8)
 %define use_s3 0
 
-%define have_rapidjson (%{rhel} == 7)
+%define have_rapidjson (%{rhel} != 8)
 %define have_re2 (%{rhel} >= 8)
-# EPEL ships utf8proc but it's old.
-# %define have_utf8proc (%{rhel} == 7)
-%define have_utf8proc 0
+%define have_utf8proc (%{rhel} >= 9)
 %define have_zstd (!%{is_amazon_linux})
 
 Name:		@PACKAGE@
@@ -81,7 +98,9 @@ BuildRequires:	gcc-c++
 BuildRequires:	gflags-devel
 %endif
 BuildRequires:	git
+%if %{use_glog}
 BuildRequires:	glog-devel
+%endif
 %if %{use_gcs}
 BuildRequires:	json-devel
 %endif
@@ -93,8 +112,8 @@ BuildRequires:	ninja-build
 BuildRequires:	openssl-devel
 BuildRequires:	pkgconfig
 %if %{use_python}
-BuildRequires:	python39-devel
-BuildRequires:	python39-numpy
+BuildRequires:	python%{python_version}-devel
+BuildRequires:	python%{python_version}-numpy
 %endif
 %if %{have_rapidjson}
 BuildRequires:	rapidjson-devel
@@ -103,6 +122,7 @@ BuildRequires:	rapidjson-devel
 BuildRequires:	re2-devel
 %endif
 BuildRequires:	snappy-devel
+BuildRequires:	thrift-devel
 %if %{have_utf8proc}
 BuildRequires:	utf8proc-devel
 %endif
@@ -115,7 +135,7 @@ BuildRequires:	ncurses-devel
 
 BuildRequires:	gobject-introspection-devel
 BuildRequires:	gtk-doc
-BuildRequires:	vala-devel
+BuildRequires:	vala
 
 %description
 Apache Arrow is a data processing library for analysis.
@@ -125,9 +145,8 @@ Apache Arrow is a data processing library for analysis.
 
 %build
 cpp_build_type=release
-mkdir cpp/build
-cd cpp/build
-%cmake3 .. \
+cd cpp
+%arrow_cmake \
   -DARROW_CSV=ON \
   -DARROW_DATASET=ON \
 %if %{use_flight}
@@ -168,8 +187,7 @@ cd cpp/build
   -DPythonInterp_FIND_VERSION_MAJOR=3 \
 %endif
   -GNinja
-
-ninja %{?_smp_mflags}
+%arrow_cmake_build
 cd -
 
 cd c_glib
@@ -178,11 +196,11 @@ meson setup build \
   --default-library=both \
   --libdir=%{_libdir} \
   --prefix=%{_prefix} \
-  -Darrow_cpp_build_dir=../cpp/build \
+  -Darrow_cpp_build_dir=../cpp/%{arrow_cmake_builddir} \
   -Darrow_cpp_build_type=$cpp_build_type \
   -Dgtk_doc=true \
   -Dvala=true
-LD_LIBRARY_PATH=$PWD/../cpp/build/$cpp_build_type \
+LD_LIBRARY_PATH=$PWD/../cpp/%{arrow_cmake_builddir}/$cpp_build_type \
   ninja -C build %{?_smp_mflags}
 cd -
 
@@ -190,13 +208,11 @@ cd -
 cpp_build_type=release
 
 cd c_glib
-DESTDIR=$RPM_BUILD_ROOT ninja -C build install
-ninja -C build clean
+DESTDIR=%{buildroot} ninja -C build install
 cd -
 
-cd cpp/build
-DESTDIR=$RPM_BUILD_ROOT ninja install
-ninja clean
+cd cpp
+%arrow_cmake_install
 cd -
 
 %package -n %{name}%{major_version}-libs
@@ -206,7 +222,9 @@ Requires:	brotli
 %if %{use_gflags}
 Requires:	gflags
 %endif
+%if %{use_glog}
 Requires:	glog
+%endif
 %if %{have_zstd}
 Requires:	libzstd
 %endif
@@ -414,7 +432,7 @@ Libraries and header files for Gandiva.
 Summary:	Python integration library for Apache Arrow
 License:	Apache-2.0
 Requires:	%{name}%{major_version}-libs = %{version}-%{release}
-Requires:	python39-numpy
+Requires:	python%{python_version}-numpy
 
 %description -n %{name}%{major_version}-python-libs
 This package contains the Python integration library for Apache Arrow.
@@ -429,7 +447,7 @@ Summary:	Libraries and header files for Python integration library for Apache Ar
 License:	Apache-2.0
 Requires:	%{name}%{major_version}-python-libs = %{version}-%{release}
 Requires:	%{name}-devel = %{version}-%{release}
-Requires:	python39-devel
+Requires:	python%{python_version}-devel
 
 %description python-devel
 Libraries and header files for Python integration library for Apache Arrow.
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
index 2cbef78621..9c93e2f240 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/centos-7/Dockerfile
@@ -53,7 +53,8 @@ RUN \
     rpmdevtools \
     snappy-devel \
     tar \
-    vala-devel \
+    thrift-devel \
+    vala \
     zlib-devel && \
   yum clean ${quiet} all
 
diff --git a/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile b/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
index 14608bc5e6..b29cc4565b 100644
--- a/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/yum/centos-8-stream/Dockerfile
@@ -60,7 +60,8 @@ RUN \
     rpmdevtools \
     snappy-devel \
     tar \
+    thrift-devel \
     utf8proc-devel \
-    vala-devel \
+    vala \
     zlib-devel && \
   dnf clean ${quiet} all
diff --git a/dev/tasks/linux-packages/github.linux.amd64.yml b/dev/tasks/linux-packages/github.linux.amd64.yml
index b7619e3ca3..f252a081d6 100644
--- a/dev/tasks/linux-packages/github.linux.amd64.yml
+++ b/dev/tasks/linux-packages/github.linux.amd64.yml
@@ -22,7 +22,7 @@
 jobs:
   package:
     name: Package
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-22.04
     steps:
       {{ macros.github_checkout_arrow()|indent }}
       {{ macros.github_login_dockerhub()|indent }}
@@ -30,7 +30,7 @@ jobs:
       - name: Set up Ruby
         uses: ruby/setup-ruby@v1
         with:
-          ruby-version: '3.0'
+          ruby-version: '3.1'
       - name: Cache ccache
         uses: actions/cache@v2
         with:
@@ -66,10 +66,9 @@ jobs:
         run: |
           set -e
           sudo apt update
-          # We can install createrepo_c by package with Ubuntu 22.04.
-          #   createrepo_c \
           sudo apt install -y \
             apt-utils \
+            createrepo-c \
             devscripts \
             gpg \
             rpm
@@ -92,38 +91,6 @@ jobs:
               ;;
           esac
           gpg --export --armor test@example.com >> arrow/dev/tasks/linux-packages/KEYS
-      # We can install createrepo_c by package with Ubuntu 22.04.
-      # This is workaround:
-      - name: Install createrepo_c
-        run: |
-          sudo apt install -y \
-            cmake \
-            libbz2-dev \
-            libcurl4-openssl-dev \
-            libglib2.0-dev \
-            liblzma-dev \
-            libmagic-dev \
-            librpm-dev \
-            libsqlite3-dev \
-            libssl-dev \
-            libxml2-dev \
-            libzstd-dev \
-            pkg-config \
-            zlib1g-dev
-          git clone --depth 1 https://github.com/rpm-software-management/createrepo_c.git
-          pushd createrepo_c
-          /usr/bin/cmake \
-            -DCMAKE_INSTALL_PREFIX=/usr \
-            -DENABLE_BASHCOMP=OFF \
-            -DENABLE_DRPM=OFF \
-            -DENABLE_PYTHON=OFF \
-            -DWITH_LIBMODULEMD=OFF \
-            -DWITH_ZCHUNK=OFF \
-            .
-          make -j$(nproc)
-          sudo make install
-          popd
-          rm -rf createrepo_c
       - name: Test
         run: |
           set -e
diff --git a/dev/tasks/linux-packages/package-task.rb b/dev/tasks/linux-packages/package-task.rb
index 985ba8badd..752ddc3e26 100644
--- a/dev/tasks/linux-packages/package-task.rb
+++ b/dev/tasks/linux-packages/package-task.rb
@@ -428,6 +428,8 @@ VERSION=#{@deb_upstream_version}
     # Disable aarch64 targets by default for now
     # because they require some setups on host.
     [
+      "almalinux-9",
+      # "almalinux-9-arch64",
       "almalinux-8",
       # "almalinux-8-arch64",
       "amazon-linux-2",
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 7a8fd83161..abb7f090fe 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -652,13 +652,14 @@ tasks:
   {% endfor %}
 {% endfor %}
 
-{% for target in ["almalinux-8",
+{% for target in ["almalinux-9",
+                  "almalinux-8",
                   "amazon-linux-2",
                   "centos-8-stream",
                   "centos-7"] %}
-  {% set is_rhel8_based = (target in ["almalinux-8", "centos-8-stream"]) %}
+  {% set is_rhel7_based = (target in ["amazon-linux-2", "centos-7"]) %}
   {% for architecture in ["amd64", "arm64"] %}
-    {% if not (target in ["amazon-linux-2", "centos-7"] and architecture == "arm64") %}
+    {% if not (is_rhel7_based and architecture == "arm64") %}
   {{ target }}-{{ architecture }}:
       {% if architecture == "amd64" %}
     ci: github
@@ -684,20 +685,20 @@ tasks:
       - arrow-dataset-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow-dataset-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow-dataset-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - arrow[0-9]+-dataset-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - arrow[0-9]+-dataset-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - arrow[0-9]+-dataset-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - arrow[0-9]+-dataset-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - arrow-debugsource-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - arrow-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - arrow-flight-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow-flight-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow-flight-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
@@ -708,17 +709,17 @@ tasks:
       {% endif %}
       - arrow-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - arrow[0-9]+-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - arrow[0-9]+-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - arrow[0-9]+-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - arrow[0-9]+-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% if target != "amazon-linux-2" %}
       - arrow-python-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-        {% if is_rhel8_based %}
+        {% if not is_rhel7_based %}
       - arrow-python-flight-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow[0-9]+-python-flight-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - arrow[0-9]+-python-flight-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
@@ -729,7 +730,7 @@ tasks:
       {% if architecture == "amd64" %}
       - arrow-{no_rc_version}-1.[a-z0-9]+.src.rpm
       {% endif %}
-      {% if is_rhel8_based and architecture == "amd64" %}
+      {% if not is_rhel7_based and architecture == "amd64" %}
       - gandiva-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - gandiva-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - gandiva-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
@@ -741,26 +742,26 @@ tasks:
       - parquet-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - parquet-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - parquet-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - parquet[0-9]+-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - parquet[0-9]+-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - parquet[0-9]+-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - parquet[0-9]+-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - plasma-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - plasma-glib-devel-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       - plasma-glib-doc-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - plasma[0-9]+-glib-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - plasma[0-9]+-glib-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - plasma[0-9]+-libs-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - plasma[0-9]+-libs-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
-      {% if is_rhel8_based %}
+      {% if not is_rhel7_based %}
       - plasma-store-server-debuginfo-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm
       {% endif %}
       - plasma-store-server-{no_rc_version}-1.[a-z0-9]+.[a-z0-9_]+.rpm