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/11/29 06:52:21 UTC

[arrow] branch master updated: ARROW-18410: [Packaging][Ubuntu] Add support for Ubuntu 22.10 (#14740)

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 21649ae845 ARROW-18410: [Packaging][Ubuntu] Add support for Ubuntu 22.10 (#14740)
21649ae845 is described below

commit 21649ae845c5e76f3af5329c3e1eb4abe4b7d333
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Tue Nov 29 15:52:15 2022 +0900

    ARROW-18410: [Packaging][Ubuntu] Add support for Ubuntu 22.10 (#14740)
    
    Authored-by: Sutou Kouhei <ko...@clear-code.com>
    Signed-off-by: Sutou Kouhei <ko...@clear-code.com>
---
 dev/release/binary-task.rb                         |  1 +
 dev/release/verify-release-candidate.sh            | 19 +++--
 .../apt/ubuntu-kinetic/Dockerfile                  | 41 ++++++++++
 .../apache-arrow/apt/ubuntu-kinetic-arm64/from     | 18 +++++
 .../apache-arrow/apt/ubuntu-kinetic/Dockerfile     | 87 ++++++++++++++++++++++
 dev/tasks/linux-packages/package-task.rb           |  2 +
 dev/tasks/linux-packages/yum/build.sh              |  3 +
 dev/tasks/tasks.yml                                |  3 +-
 8 files changed, 165 insertions(+), 9 deletions(-)

diff --git a/dev/release/binary-task.rb b/dev/release/binary-task.rb
index d5c072b2d8..6597b93bdb 100644
--- a/dev/release/binary-task.rb
+++ b/dev/release/binary-task.rb
@@ -1088,6 +1088,7 @@ class BinaryTask
       ["ubuntu", "bionic", "main"],
       ["ubuntu", "focal", "main"],
       ["ubuntu", "jammy", "main"],
+      ["ubuntu", "kinetic", "main"],
     ]
   end
 
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index 06a35312a7..9e044d205b 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -194,18 +194,21 @@ test_apt() {
                 "ubuntu:focal" \
                 "arm64v8/ubuntu:focal" \
                 "ubuntu:jammy" \
-                "arm64v8/ubuntu:jammy"; do \
+                "arm64v8/ubuntu:jammy" \
+                "ubuntu:kinetic" \
+                "arm64v8/ubuntu:kinetic"; do \
     case "${target}" in
       arm64v8/*)
         if [ "$(arch)" = "aarch64" -o -e /usr/bin/qemu-aarch64-static ]; then
           case "${target}" in
-          arm64v8/debian:buster|arm64v8/ubuntu:bionic|arm64v8/ubuntu:focal)
-            ;; # OK
-          *)
-            # qemu-user-static in Ubuntu 20.04 has a crash bug:
-            #   https://bugs.launchpad.net/qemu/+bug/1749393
-            continue
-            ;;
+            arm64v8/ubuntu:bionic|arm64v8/ubuntu:focal)
+              : # OK
+              ;;
+            *)
+              # qemu-user-static in Ubuntu 20.04 has a crash bug:
+              #   https://bugs.launchpad.net/qemu/+bug/1749393
+              continue
+              ;;
           esac
         else
           continue
diff --git a/dev/tasks/linux-packages/apache-arrow-apt-source/apt/ubuntu-kinetic/Dockerfile b/dev/tasks/linux-packages/apache-arrow-apt-source/apt/ubuntu-kinetic/Dockerfile
new file mode 100644
index 0000000000..498fd34ac1
--- /dev/null
+++ b/dev/tasks/linux-packages/apache-arrow-apt-source/apt/ubuntu-kinetic/Dockerfile
@@ -0,0 +1,41 @@
+# 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.
+
+FROM ubuntu:kinetic
+
+RUN \
+  echo "debconf debconf/frontend select Noninteractive" | \
+    debconf-set-selections
+
+RUN \
+  echo 'APT::Install-Recommends "false";' > \
+    /etc/apt/apt.conf.d/disable-install-recommends
+
+ARG DEBUG
+
+RUN \
+  quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \
+  apt update ${quiet} && \
+  apt install -y -V ${quiet} \
+    build-essential \
+    debhelper \
+    devscripts \
+    fakeroot \
+    gnupg \
+    lsb-release && \
+  apt clean && \
+  rm -rf /var/lib/apt/lists/*
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-kinetic-arm64/from b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-kinetic-arm64/from
new file mode 100644
index 0000000000..fac693afa7
--- /dev/null
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-kinetic-arm64/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/ubuntu:kinetic
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-kinetic/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-kinetic/Dockerfile
new file mode 100644
index 0000000000..b371bc7949
--- /dev/null
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-kinetic/Dockerfile
@@ -0,0 +1,87 @@
+# 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.
+
+ARG FROM=ubuntu:kinetic
+FROM ${FROM}
+
+RUN \
+  echo "debconf debconf/frontend select Noninteractive" | \
+    debconf-set-selections
+
+RUN \
+  echo 'APT::Install-Recommends "false";' > \
+    /etc/apt/apt.conf.d/disable-install-recommends
+
+ARG DEBUG
+RUN \
+  quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \
+  apt update ${quiet} && \
+  apt install -y -V ${quiet} \
+    build-essential \
+    ccache \
+    clang \
+    clang-tools \
+    cmake \
+    debhelper \
+    devscripts \
+    git \
+    gtk-doc-tools \
+    libboost-filesystem-dev \
+    libboost-system-dev \
+    libbrotli-dev \
+    libbz2-dev \
+    libc-ares-dev \
+    libcurl4-openssl-dev \
+    libgirepository1.0-dev \
+    libglib2.0-doc \
+    libgmock-dev \
+    libgoogle-glog-dev \
+    libgrpc++-dev \
+    libgtest-dev \
+    liblz4-dev \
+    libmlir-15-dev \
+    libprotobuf-dev \
+    libprotoc-dev \
+    libre2-dev \
+    libsnappy-dev \
+    libssl-dev \
+    libthrift-dev \
+    libutf8proc-dev \
+    libzstd-dev \
+    llvm-dev \
+    lsb-release \
+    mlir-15-tools \
+    ninja-build \
+    nlohmann-json3-dev \
+    pkg-config \
+    protobuf-compiler-grpc \
+    python3-dev \
+    python3-pip \
+    python3-setuptools \
+    rapidjson-dev \
+    tzdata \
+    valac \
+    zlib1g-dev && \
+  if apt list | grep -q '^libcuda1'; then \
+    apt install -y -V ${quiet} nvidia-cuda-toolkit; \
+  else \
+    :; \
+  fi && \
+  apt clean && \
+  python3 -m pip install --no-use-pep517 meson && \
+  ln -s /usr/local/bin/meson /usr/bin/ && \
+  rm -rf /var/lib/apt/lists/*
diff --git a/dev/tasks/linux-packages/package-task.rb b/dev/tasks/linux-packages/package-task.rb
index 2c259b22a5..6b0ba7de13 100644
--- a/dev/tasks/linux-packages/package-task.rb
+++ b/dev/tasks/linux-packages/package-task.rb
@@ -290,6 +290,8 @@ class PackageTask
       # "ubuntu-focal-arm64",
       "ubuntu-jammy",
       # "ubuntu-jammy-arm64",
+      "ubuntu-kinetic",
+      # "ubuntu-kinetic-arm64",
     ]
   end
 
diff --git a/dev/tasks/linux-packages/yum/build.sh b/dev/tasks/linux-packages/yum/build.sh
index 133c55029d..fad37e3c3c 100755
--- a/dev/tasks/linux-packages/yum/build.sh
+++ b/dev/tasks/linux-packages/yum/build.sh
@@ -36,6 +36,9 @@ rpmbuild_options=
 if grep -q amazon /etc/system-release-cpe; then
   distribution=$(cut -d ":" -f 5 /etc/system-release-cpe | tr '_' '-')
   distribution_version=$(cut -d ":" -f 6 /etc/system-release-cpe)
+elif grep -q oracle /etc/system-release-cpe; then
+  distribution=oracle-linux
+  distribution_version=$(cut -d ":" -f 5 /etc/system-release-cpe)
 else
   distribution=$(cut -d ":" -f 4 /etc/system-release-cpe)
   distribution_version=$(cut -d ":" -f 5 /etc/system-release-cpe)
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 17624acf72..8153aed914 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -546,7 +546,8 @@ tasks:
                   "debian-bookworm",
                   "ubuntu-bionic",
                   "ubuntu-focal",
-                  "ubuntu-jammy"] %}
+                  "ubuntu-jammy",
+                  "ubuntu-kinetic"] %}
   {% for architecture in ["amd64", "arm64"] %}
   {{ target }}-{{ architecture }}:
     {% if architecture == "amd64" %}