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 2019/07/05 07:38:33 UTC
[arrow] branch master updated: ARROW-5784: [Release][GLib] Replace
c_glib/ after running c_glib/autogen.sh in dev/release/02-source.sh
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 9ffb9cd ARROW-5784: [Release][GLib] Replace c_glib/ after running c_glib/autogen.sh in dev/release/02-source.sh
9ffb9cd is described below
commit 9ffb9cdd46c498a2f46a8d030613e7c046b6e843
Author: Yosuke Shiro <yo...@gmail.com>
AuthorDate: Fri Jul 5 16:38:14 2019 +0900
ARROW-5784: [Release][GLib] Replace c_glib/ after running c_glib/autogen.sh in dev/release/02-source.sh
c_glib/ source archive is generated by `make dist` because includes configure script.
The current `dev/release/02-source.sh` build Arrow C++ and Arrow GLib to include the artifacts of GTK-Doc and then run `make dist`. But it is slow.
So this PR run only `c_glib/autogen.sh` and then replace c_glib/.
Author: Yosuke Shiro <yo...@gmail.com>
Author: Sutou Kouhei <ko...@clear-code.com>
Closes #4749 from shiro615/release-replace-c-glib-after-running-autogen and squashes the following commits:
9a69f8edc <Yosuke Shiro> Remove an unnecessary environment variable
3a2550fbd <Yosuke Shiro> Remove omit from 02-source-test.rb
501a2dd97 <Yosuke Shiro> Remove autom4te.cache after running autogen.sh
46a4f8995 <Sutou Kouhei> Use docker-compose
e357a88b7 <Yosuke Shiro> Exclude c_glib/autom4te.cache/* from RAT check
70cb4a762 <Yosuke Shiro> Remove an unnecessary diff
aa786804d <Yosuke Shiro> Enable test test_glib_configure on Travis CI
e04276e33 <Yosuke Shiro> Remove libraries for C++ build
56098ae87 <Yosuke Shiro> Replace c_glib/ by c_glib/ after running autogen.sh
---
dev/release/02-source-test.rb | 4 ----
dev/release/02-source.sh | 26 +++++++++++---------------
dev/release/source/Dockerfile | 25 ++-----------------------
dev/release/source/build.sh | 33 ++++++---------------------------
docker-compose.yml | 10 ++++++++++
5 files changed, 29 insertions(+), 69 deletions(-)
diff --git a/dev/release/02-source-test.rb b/dev/release/02-source-test.rb
index e777c75..cf3c887 100644
--- a/dev/release/02-source-test.rb
+++ b/dev/release/02-source-test.rb
@@ -55,10 +55,6 @@ class SourceTest < Test::Unit::TestCase
end
def test_glib_configure
- unless ENV["ARROW_TEST_SOURCE_GLIB"] == "yes"
- omit("This takes a long time. " +
- "Set ARROW_TEST_SOURCE_GLIB=yes environment variable to test this.")
- end
source("GLIB")
Dir.chdir("#{@tag_name}/c_glib") do
assert_equal([
diff --git a/dev/release/02-source.sh b/dev/release/02-source.sh
index edaeec9..ca192a8 100755
--- a/dev/release/02-source.sh
+++ b/dev/release/02-source.sh
@@ -61,26 +61,22 @@ rm -rf ${tag}
git archive ${release_hash} --prefix ${tag}/) | \
tar xf -
-# replace c_glib/ by tar.gz generated by "make dist"
+# Replace c_glib/ after running c_glib/autogen.sh to create c_gilb/ source archive containing the configure script
if [ ${SOURCE_GLIB} -gt 0 ]; then
archive_name=tmp-apache-arrow
(cd "${SOURCE_TOP_DIR}" && \
git archive ${release_hash} --prefix ${archive_name}/) \
- > ${archive_name}.tar
- dist_c_glib_tar_gz=c_glib.tar.gz
- docker_image_name=apache-arrow/release-source
- DEBUG=yes docker build -t ${docker_image_name} "${SOURCE_DIR}/source"
- docker \
- run \
- --rm \
- --interactive \
- --volume "$PWD":/host \
- ${docker_image_name} \
- /build.sh ${archive_name} ${dist_c_glib_tar_gz}
- rm -f ${archive_name}.tar
+ > "${SOURCE_TOP_DIR}/${archive_name}.tar"
+ c_glib_including_configure_tar_gz=c_glib.tar.gz
+ "${SOURCE_TOP_DIR}/dev/run_docker_compose.sh" \
+ release-source \
+ /arrow/dev/release/source/build.sh \
+ ${archive_name} \
+ ${c_glib_including_configure_tar_gz}
+ rm -f "${SOURCE_TOP_DIR}/${archive_name}.tar"
rm -rf ${tag}/c_glib
- tar xf ${dist_c_glib_tar_gz} -C ${tag}
- rm -f ${dist_c_glib_tar_gz}
+ tar xf "${SOURCE_TOP_DIR}/${c_glib_including_configure_tar_gz}" -C ${tag}
+ rm -f "${SOURCE_TOP_DIR}/${c_glib_including_configure_tar_gz}"
fi
# Resolve all hard and symbolic links
diff --git a/dev/release/source/Dockerfile b/dev/release/source/Dockerfile
index 9085cef..7d5453b 100644
--- a/dev/release/source/Dockerfile
+++ b/dev/release/source/Dockerfile
@@ -15,38 +15,17 @@
# specific language governing permissions and limitations
# under the License.
-FROM ubuntu:18.04
+FROM debian:buster
ENV DEBIAN_FRONTEND noninteractive
-RUN apt-get update -y -q && \
- apt-get install -y -q --no-install-recommends wget software-properties-common gpg-agent && \
- wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
- apt-add-repository -y "deb http://apt.llvm.org/bionic llvm-toolchain-bionic-7 main" && \
- apt-get -y install clang-7
-
RUN apt update && \
apt install -y -V \
autoconf-archive \
- bison \
- cmake \
- flex \
- g++ \
- gcc \
gtk-doc-tools \
- libboost-filesystem-dev \
- libboost-regex-dev \
- libboost-system-dev \
libgirepository1.0-dev \
libglib2.0-doc \
- libprotobuf-dev \
- libprotoc-dev \
libtool \
- lsb-release \
- make \
- pkg-config \
- protobuf-compiler && \
+ pkg-config && \
apt clean && \
rm -rf /var/lib/apt/lists/*
-
-COPY build.sh /build.sh
diff --git a/dev/release/source/build.sh b/dev/release/source/build.sh
index 20c9724..558600e 100755
--- a/dev/release/source/build.sh
+++ b/dev/release/source/build.sh
@@ -20,35 +20,14 @@
set -e
archive_name=$1
-dist_c_glib_tar_gz=$2
+c_glib_including_configure_tar_gz=$2
-tar xf /host/${archive_name}.tar
+tar xf /arrow/${archive_name}.tar
-# build Apache Arrow C++ before building Apache Arrow GLib because
-# Apache Arrow GLib requires Apache Arrow C++.
-mkdir -p ${archive_name}/cpp/build
-cpp_install_dir=${PWD}/${archive_name}/cpp/install
-cd ${archive_name}/cpp/build
-cmake .. \
- -DCMAKE_INSTALL_PREFIX=${cpp_install_dir} \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DARROW_PLASMA=yes \
- -DARROW_GANDIVA=yes \
- -DARROW_PARQUET=yes
-make -j8
-make install
-cd -
-
-# build source archive for Apache Arrow GLib by "make dist".
+# Run autogen.sh to create c_glib/ source archive containing the configure script
cd ${archive_name}/c_glib
./autogen.sh
-./configure \
- PKG_CONFIG_PATH=${cpp_install_dir}/lib/pkgconfig \
- --enable-gtk-doc
-LD_LIBRARY_PATH=${cpp_install_dir}/lib make -j8
-make dist
-tar xzf *.tar.gz
-rm *.tar.gz
+rm -rf autom4te.cache
cd -
-mv ${archive_name}/c_glib/apache-arrow-glib-* c_glib/
-tar czf /host/${dist_c_glib_tar_gz} c_glib
+mv ${archive_name}/c_glib/ c_glib/
+tar czf /arrow/${c_glib_including_configure_tar_gz} c_glib
diff --git a/docker-compose.yml b/docker-compose.yml
index 9417148..768c4e6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -609,6 +609,16 @@ services:
# TODO(kszucs): hive-integration
+ ################################# Release ###################################
+
+ release-source:
+ image: arrow:release-source
+ build:
+ context: .
+ dockerfile: dev/release/source/Dockerfile
+ volumes:
+ - .:/arrow:delegated
+
######################## Verification Containers ############################
debian-stretch: