From d40d6d0b8264d8910c87770eb5cb142fc75f2b2c Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 11 Dec 2020 17:06:13 +0900 Subject: [PATCH 1/2] [Packaging][deb] Restore Debian GNU/Linux Buster support I removed Debian GNU/Linux Buster configuration wrongly in 20c5c6cb9f760bbb23e335c986aadcd9c9f09181 (ARROW-10814). I should have removed Stretch configuration in it but removed Buster configuration. --- .../from | 2 +- .../Dockerfile | 30 +++++------ .../qemu-dummy-static | 0 .../linux-packages/github.linux.amd64.yml | 2 +- dev/tasks/linux-packages/package-task.rb | 50 +++++++++---------- 5 files changed, 39 insertions(+), 45 deletions(-) rename dev/tasks/linux-packages/apache-arrow/apt/{debian-stretch-arm64 => debian-buster-arm64}/from (97%) rename dev/tasks/linux-packages/apache-arrow/apt/{debian-stretch => debian-buster}/Dockerfile (79%) rename dev/tasks/linux-packages/apache-arrow/apt/{debian-stretch => debian-buster}/qemu-dummy-static (100%) diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-stretch-arm64/from b/dev/tasks/linux-packages/apache-arrow/apt/debian-buster-arm64/from similarity index 97% rename from dev/tasks/linux-packages/apache-arrow/apt/debian-stretch-arm64/from rename to dev/tasks/linux-packages/apache-arrow/apt/debian-buster-arm64/from index 54d1f0bb461..8da222b8618 100644 --- a/dev/tasks/linux-packages/apache-arrow/apt/debian-stretch-arm64/from +++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-buster-arm64/from @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. -arm64v8/debian:stretch +arm64v8/debian:buster diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-stretch/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-buster/Dockerfile similarity index 79% rename from dev/tasks/linux-packages/apache-arrow/apt/debian-stretch/Dockerfile rename to dev/tasks/linux-packages/apache-arrow/apt/debian-buster/Dockerfile index fd0c9bc6218..c6268f69f83 100644 --- a/dev/tasks/linux-packages/apache-arrow/apt/debian-stretch/Dockerfile +++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-buster/Dockerfile @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -ARG FROM=debian:stretch +ARG FROM=debian:buster FROM ${FROM} COPY qemu-* /usr/bin/ @@ -29,12 +29,10 @@ RUN \ /etc/apt/apt.conf.d/disable-install-recommends RUN sed -i'' -e 's/main$/main contrib non-free/g' /etc/apt/sources.list + RUN \ - echo "deb http://deb.debian.org/debian stretch-backports main" > \ + echo "deb http://deb.debian.org/debian buster-backports main" > \ /etc/apt/sources.list.d/backports.list -RUN \ - echo "deb http://deb.debian.org/debian stretch-backports-sloppy main" > \ - /etc/apt/sources.list.d/backports-sloppy.list ARG DEBUG RUN \ @@ -42,10 +40,9 @@ RUN \ apt update ${quiet} && \ apt install -y -V ${quiet} \ build-essential \ - clang-7 \ cmake \ + debhelper \ devscripts \ - fakeroot \ git \ gtk-doc-tools \ libboost-filesystem-dev \ @@ -57,33 +54,30 @@ RUN \ libcurl4-openssl-dev \ libgirepository1.0-dev \ libglib2.0-doc \ + libgmock-dev \ libgoogle-glog-dev \ + libgtest-dev \ liblz4-dev \ libre2-dev \ libsnappy-dev \ libssl-dev \ + libthrift-dev \ libutf8proc-dev \ libzstd-dev \ - llvm-7-dev \ lsb-release \ ninja-build \ pkg-config \ python3-dev \ python3-numpy \ python3-pip \ - python3-setuptools \ - python3-wheel \ + rapidjson-dev \ tzdata \ zlib1g-dev && \ - apt install -y -V -t stretch-backports-sloppy ${quiet} \ - libarchive13 && \ - apt install -y -V -t stretch-backports ${quiet} \ - debhelper \ - libgmock-dev \ - libgtest-dev \ - rapidjson-dev && \ + apt install -y -V -t buster-backports ${quiet} \ + clang-8 \ + llvm-8-dev && \ if apt list | grep '^nvidia-cuda-toolkit/'; then \ - apt install -y -V -t stretch-backports ${quiet} nvidia-cuda-toolkit; \ + apt install -y -V ${quiet} nvidia-cuda-toolkit; \ fi && \ pip3 install --upgrade meson && \ ln -s /usr/local/bin/meson /usr/bin/ && \ diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-stretch/qemu-dummy-static b/dev/tasks/linux-packages/apache-arrow/apt/debian-buster/qemu-dummy-static similarity index 100% rename from dev/tasks/linux-packages/apache-arrow/apt/debian-stretch/qemu-dummy-static rename to dev/tasks/linux-packages/apache-arrow/apt/debian-buster/qemu-dummy-static diff --git a/dev/tasks/linux-packages/github.linux.amd64.yml b/dev/tasks/linux-packages/github.linux.amd64.yml index 97ec576a31c..cff107f29d4 100644 --- a/dev/tasks/linux-packages/github.linux.amd64.yml +++ b/dev/tasks/linux-packages/github.linux.amd64.yml @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Set up Ruby - uses: actions/setup-ruby@master + uses: actions/setup-ruby@v1 - name: Checkout Arrow run: | git clone --no-checkout {{ arrow.remote }} arrow diff --git a/dev/tasks/linux-packages/package-task.rb b/dev/tasks/linux-packages/package-task.rb index 0413ede53f6..bef42221cb5 100644 --- a/dev/tasks/linux-packages/package-task.rb +++ b/dev/tasks/linux-packages/package-task.rb @@ -256,31 +256,29 @@ def apt_dir "apt" end - def apt_prepare_debian_dirs(tmp_dir) - apt_targets.each do |target| - source_debian_dir = nil - specific_debian_dir = "debian.#{target}" - distribution, code_name, _architecture = target.split("-", 3) - platform = [distribution, code_name].join("-") - platform_debian_dir = "debian.#{platform}" - if File.exist?(specific_debian_dir) - source_debian_dir = specific_debian_dir - elsif File.exist?(platform_debian_dir) - source_debian_dir = platform_debian_dir - else - source_debian_dir = "debian" - end + def apt_prepare_debian_dir(tmp_dir, target) + source_debian_dir = nil + specific_debian_dir = "debian.#{target}" + distribution, code_name, _architecture = target.split("-", 3) + platform = [distribution, code_name].join("-") + platform_debian_dir = "debian.#{platform}" + if File.exist?(specific_debian_dir) + source_debian_dir = specific_debian_dir + elsif File.exist?(platform_debian_dir) + source_debian_dir = platform_debian_dir + else + source_debian_dir = "debian" + end - prepared_debian_dir = "#{tmp_dir}/debian.#{target}" - cp_r(source_debian_dir, prepared_debian_dir) - control_in_path = "#{prepared_debian_dir}/control.in" - if File.exist?(control_in_path) - control_in = File.read(control_in_path) - rm_f(control_in_path) - File.open("#{prepared_debian_dir}/control", "w") do |control| - prepared_control = apt_prepare_debian_control(control_in, target) - control.print(prepared_control) - end + prepared_debian_dir = "#{tmp_dir}/debian.#{target}" + cp_r(source_debian_dir, prepared_debian_dir) + control_in_path = "#{prepared_debian_dir}/control.in" + if File.exist?(control_in_path) + control_in = File.read(control_in_path) + rm_f(control_in_path) + File.open("#{prepared_debian_dir}/control", "w") do |control| + prepared_control = apt_prepare_debian_control(control_in, target) + control.print(prepared_control) end end end @@ -296,7 +294,9 @@ def apt_build mkdir_p(tmp_dir) cp(deb_archive_name, File.join(tmp_dir, deb_archive_name)) - apt_prepare_debian_dirs(tmp_dir) + apt_targets.each do |target| + apt_prepare_debian_dirs(tmp_dir, target) + end env_sh = "#{apt_dir}/env.sh" File.open(env_sh, "w") do |file| From f537adbf5b6e39965ad2eafe865ae598d5da9db6 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 11 Dec 2020 18:07:10 +0900 Subject: [PATCH 2/2] Fix a typo --- dev/tasks/linux-packages/package-task.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tasks/linux-packages/package-task.rb b/dev/tasks/linux-packages/package-task.rb index bef42221cb5..b7292349cff 100644 --- a/dev/tasks/linux-packages/package-task.rb +++ b/dev/tasks/linux-packages/package-task.rb @@ -295,7 +295,7 @@ def apt_build cp(deb_archive_name, File.join(tmp_dir, deb_archive_name)) apt_targets.each do |target| - apt_prepare_debian_dirs(tmp_dir, target) + apt_prepare_debian_dir(tmp_dir, target) end env_sh = "#{apt_dir}/env.sh"