summaryrefslogtreecommitdiffstats
path: root/src/arrow/dev/tasks/linux-packages/apache-arrow-release
diff options
context:
space:
mode:
Diffstat (limited to 'src/arrow/dev/tasks/linux-packages/apache-arrow-release')
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/Rakefile66
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/Apache-Arrow.repo44
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-8/Dockerfile26
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/amazon-linux-2/Dockerfile26
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/apache-arrow-release.spec.in113
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-7/Dockerfile26
-rw-r--r--src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-8/Dockerfile26
7 files changed, 327 insertions, 0 deletions
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/Rakefile b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/Rakefile
new file mode 100644
index 000000000..4a341c6f1
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/Rakefile
@@ -0,0 +1,66 @@
+# -*- ruby -*-
+#
+# 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.
+
+require_relative "../helper"
+require_relative "../package-task"
+
+class ApacheArrowReleasePackageTask < PackageTask
+ include Helper::ApacheArrow
+
+ def initialize
+ release_time = detect_release_time
+ super("apache-arrow-release",
+ detect_version(release_time),
+ release_time,
+ :rc_build_type => :release)
+ end
+
+ private
+ def repo_path
+ "#{yum_dir}/Apache-Arrow.repo"
+ end
+
+ def define_archive_task
+ file @archive_name => [repo_path] do
+ rm_rf(@archive_base_name)
+ mkdir(@archive_base_name)
+ download("https://downloads.apache.org/arrow/KEYS",
+ "#{@archive_base_name}/KEYS")
+ cp(repo_path, @archive_base_name)
+ sh("tar", "czf", @archive_name, @archive_base_name)
+ rm_rf(@archive_base_name)
+ end
+
+ if rpm_archive_name != @archive_name
+ file rpm_archive_name => @archive_name do
+ sh("tar", "xf", @archive_name)
+ rpm_archive_base_name = File.basename(rpm_archive_name, ".tar.gz")
+ mv(@archive_base_name, rpm_archive_base_name)
+ sh("tar", "czf", rpm_archive_name, rpm_archive_base_name)
+ end
+ end
+ end
+
+ def enable_apt?
+ false
+ end
+end
+
+task = ApacheArrowReleasePackageTask.new
+task.define
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/Apache-Arrow.repo b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/Apache-Arrow.repo
new file mode 100644
index 000000000..0d1666520
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/Apache-Arrow.repo
@@ -0,0 +1,44 @@
+# 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.
+
+[apache-arrow-almalinux]
+name=Apache Arrow for AlmaLinux $releasever - $basearch
+baseurl=https://apache.jfrog.io/artifactory/arrow/almalinux/$releasever/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Apache-Arrow
+
+[apache-arrow-amazon-linux]
+name=Apache Arrow for Amazon Linux $releasever - $basearch
+baseurl=https://apache.jfrog.io/artifactory/arrow/amazon-linux/$releasever/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Apache-Arrow
+
+[apache-arrow-centos]
+name=Apache Arrow for CentOS $releasever - $basearch
+baseurl=https://apache.jfrog.io/artifactory/arrow/centos/$releasever/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Apache-Arrow
+
+[apache-arrow-rhel]
+name=Apache Arrow for RHEL $releasever - $basearch
+baseurl=https://apache.jfrog.io/artifactory/arrow/centos/$releasever/$basearch/
+gpgcheck=1
+enabled=0
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Apache-Arrow
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-8/Dockerfile b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-8/Dockerfile
new file mode 100644
index 000000000..5be1edc3d
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/almalinux-8/Dockerfile
@@ -0,0 +1,26 @@
+# 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 almalinux:8
+
+ARG DEBUG
+
+RUN \
+ quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
+ dnf install --enablerepo=powertools -y ${quiet} \
+ rpmdevtools && \
+ dnf clean ${quiet} all
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/amazon-linux-2/Dockerfile b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/amazon-linux-2/Dockerfile
new file mode 100644
index 000000000..800df6c68
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/amazon-linux-2/Dockerfile
@@ -0,0 +1,26 @@
+# 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 amazonlinux:2
+
+ARG DEBUG
+
+RUN \
+ quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
+ yum install -y ${quiet} \
+ rpmdevtools && \
+ yum clean ${quiet} all
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/apache-arrow-release.spec.in b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/apache-arrow-release.spec.in
new file mode 100644
index 000000000..594cda373
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/apache-arrow-release.spec.in
@@ -0,0 +1,113 @@
+# -*- sh-shell: rpm -*-
+#
+# 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.
+
+%define use_dnf (%{rhel} >= 8)
+%if %{use_dnf}
+%define yum_repository_enable() (dnf config-manager --set-enabled %1)
+%define yum_repository_disable() (dnf config-manager --set-disabled %1)
+%else
+%define yum_repository_enable() (yum-config-manager --enable %1)
+%define yum_repository_disable() (yum-config-manager --disable %1)
+%endif
+
+Name: @PACKAGE@
+Version: @VERSION@
+Release: @RELEASE@%{?dist}
+Summary: Apache Arrow release files
+
+License: Apache-2.0
+URL: https://arrow.apache.org/
+Source0: @PACKAGE@-%{version}.tar.gz
+
+BuildArch: noarch
+
+Requires: epel-release
+%if %{use_dnf}
+Requires: dnf-command(config-manager)
+%else
+Requires: yum-utils
+%endif
+
+%description
+Apache Arrow release files.
+
+%prep
+%setup -q
+
+%build
+distribution=$(. /etc/os-release && echo "${ID}")
+if [ "${distribution}" = "rhel" ]; then
+ # We use distribution version explicitly for RHEL because we can't
+ # use symbolic link on Artifactory. CentOS uses 7 and 8 but RHEL uses
+ # 7Server and 8Server for $releasever. If we can use symbolic link
+ # on Artifactory we can use $releasever directly.
+ distribution_version=$(. /etc/os-release && echo "${VERSION_ID}")
+ sed -i'' -e "s/\\\$releasever/${distribution_version}/g" Apache-Arrow.repo
+fi
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__install} -Dp -m0644 KEYS \
+ $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Apache-Arrow
+
+%{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/
+%{__install} -Dp -m0644 Apache-Arrow.repo \
+ $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/Apache-Arrow.repo
+
+%files
+%defattr(-, root, root, 0755)
+%doc
+%dir %{_sysconfdir}/yum.repos.d/
+%dir %{_sysconfdir}/pki/rpm-gpg/
+%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Apache-Arrow
+%config(noreplace) %{_sysconfdir}/yum.repos.d/Apache-Arrow.repo
+
+%post
+if grep -q 'Amazon Linux release 2' /etc/system-release 2>/dev/null; then
+ %{yum_repository_enable apache-arrow-amazon-linux}
+elif grep -q 'Red Hat Enterprise Linux' /etc/system-release 2>/dev/null; then
+ %{yum_repository_enable apache-arrow-rhel}
+elif grep -q 'AlmaLinux' /etc/system-release 2>/dev/null; then
+ %{yum_repository_enable apache-arrow-almalinux}
+else
+ %{yum_repository_enable apache-arrow-centos}
+fi
+
+%changelog
+* Wed Nov 10 2021 Sutou Kouhei <kou@clear-code.com> - 6.0.1-1
+- New upstream release.
+
+* Thu Oct 21 2021 Krisztián Szűcs <szucs.krisztian@gmail.com> - 6.0.0-1
+- New upstream release.
+
+* Mon Jan 18 2021 Krisztián Szűcs <szucs.krisztian@gmail.com> - 3.0.0-1
+- New upstream release.
+
+* Mon Oct 12 2020 Krisztián Szűcs <szucs.krisztian@gmail.com> - 2.0.0-1
+- New upstream release.
+
+* Mon Jul 20 2020 Krisztián Szűcs <szucs.krisztian@gmail.com> - 1.0.0-1
+- New upstream release.
+
+* Thu Apr 16 2020 Krisztián Szűcs <szucs.krisztian@gmail.com> - 0.17.0-1
+- New upstream release.
+
+* Thu Jan 30 2020 Krisztián Szűcs <szucs.krisztian@gmail.com> - 0.16.0-1
+- New upstream release.
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-7/Dockerfile b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-7/Dockerfile
new file mode 100644
index 000000000..236b0e297
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-7/Dockerfile
@@ -0,0 +1,26 @@
+# 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 centos:7
+
+ARG DEBUG
+
+RUN \
+ quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
+ yum install -y ${quiet} \
+ rpmdevtools && \
+ yum clean ${quiet} all
diff --git a/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-8/Dockerfile b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-8/Dockerfile
new file mode 100644
index 000000000..e36850630
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/apache-arrow-release/yum/centos-8/Dockerfile
@@ -0,0 +1,26 @@
+# 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 centos:8
+
+ARG DEBUG
+
+RUN \
+ quiet=$([ "${DEBUG}" = "yes" ] || echo "--quiet") && \
+ dnf install --enablerepo=powertools -y ${quiet} \
+ rpmdevtools && \
+ dnf clean ${quiet} all