This is an automated email from the ASF dual-hosted git repository. rskraba pushed a commit to branch branch-1.11 in repository https://gitbox.apache.org/repos/asf/avro.git
commit 6697e0e4344138114e0b907bd45ddbd828ffe5eb Author: Ryan Skraba <[email protected]> AuthorDate: Sat Nov 22 12:29:00 2025 +0100 Bump share/VERSION.txt to 1.11.6-SNAPSHOT --- share/VERSION.txt | 2 +- share/docker/Dockerfile.orig | 230 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 231 insertions(+), 1 deletion(-) diff --git a/share/VERSION.txt b/share/VERSION.txt index e6dbb7c238..a0f843ae29 100644 --- a/share/VERSION.txt +++ b/share/VERSION.txt @@ -1 +1 @@ -1.11.5 +1.11.6-SNAPSHOT diff --git a/share/docker/Dockerfile.orig b/share/docker/Dockerfile.orig new file mode 100644 index 0000000000..160d45a455 --- /dev/null +++ b/share/docker/Dockerfile.orig @@ -0,0 +1,230 @@ +# 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 +# +# https://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. + +# Dockerfile for installing the necessary dependencies for building Avro. +# See BUILD.md. + +FROM ubuntu:20.04 +WORKDIR /root + +ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=isolemnlysweariamuptonogood \ + DEBIAN_FRONTEND=noninteractive + +# Install dependencies from vanilla system packages +RUN apt-get -qqy update \ + && apt-get -qqy install --no-install-recommends ant \ + apt-transport-https \ + apt-utils \ + asciidoc \ + bison \ + build-essential \ + bzip2 \ + cmake \ + cppcheck \ + curl \ + doxygen \ + flex \ + g++ \ + gcc \ + git \ + gnupg2 \ + libboost-all-dev \ + libfontconfig1-dev \ + libfreetype6-dev \ + libglib2.0-dev \ + libjansson-dev \ + libreadline-dev \ + libsnappy-dev \ + libsnappy1v5 \ + libssl-dev \ + make \ + mypy \ + openjdk-17-jdk \ + openjdk-11-jdk \ + openjdk-8-jdk \ + perl \ + python3 \ + python3-pip \ + python3-setuptools \ + python3-snappy \ + python3-venv \ + python3-wheel \ +<<<<<<< HEAD +======= + python3.10 \ + python3.11 \ + python3.11-dev \ + python3.7 \ + python3.7-distutils \ + python3.8 \ + python3.9 \ +>>>>>>> 171166180b (AVRO-3832: [Python] Make Python test work with Docker (#2444)) + source-highlight \ + subversion \ + valgrind \ + vim \ + wget \ + python3.6 \ + python3.7 \ + python3.8 \ + python3.9 \ + python3.10 \ + && apt-get -qqy clean + +# Install PHP +RUN apt-get -qqy install --no-install-recommends libzstd-dev \ + libbz2-dev \ + php \ + php-bz2 \ + php-gmp \ + php-xml \ + php-mbstring \ + php-dev + +# Install a maven release ------------------------------------------- +# Inspired from https://github.com/apache/accumulo-docker/blob/master/Dockerfile#L53 +ENV MAVEN_VERSION 3.8.6 +ENV APACHE_DIST_URLS \ + https://www.apache.org/dyn/closer.cgi?action=download&filename= \ + # if the version is outdated (or we're grabbing the .asc file), we might have to pull from the dist/archive :/ + https://www-us.apache.org/dist/ \ + https://www.apache.org/dist/ \ + https://archive.apache.org/dist/ +RUN set -eux; \ + download() { \ + local f="$1"; shift; \ + local distFile="$1"; shift; \ + local success=; \ + local distUrl=; \ + for distUrl in $APACHE_DIST_URLS; do \ + if wget -nv -O "$f" "$distUrl$distFile"; then \ + success=1; \ + break; \ + fi; \ + done; \ + [ -n "$success" ]; \ + }; \ + download "maven.tar.gz" "maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz"; \ + tar xzf "maven.tar.gz" -C /tmp/; \ + mv /tmp/apache-maven-$MAVEN_VERSION /opt/maven; \ + rm "maven.tar.gz" +ENV PATH="/opt/maven/bin:${PATH}" + +# Install nodejs +# The node deprecation warnings cause a 20 second sleep. +# But mom, I'm not even tired! +RUN curl -sSL https://deb.nodesource.com/setup_14.x \ + | sed 's/sleep/echo "But mom!"/' \ + | bash \ + && apt-get -qqy install nodejs \ + && apt-get -qqy clean \ + && npm install -g grunt-cli \ + && npm cache clean --force + +# Install PHP-snappy and PHP-zstd +ENV PHP7_VERSION=7.4 +RUN mkdir tmp && cd tmp \ + && git clone --recursive --depth=1 https://github.com/kjdev/php-ext-zstd.git \ + && cd php-ext-zstd \ + && phpize \ + && ./configure \ + && make \ + && make install \ + && echo "extension=zstd.so" > /etc/php/${PHP7_VERSION}/cli/conf.d/10-zstd.ini \ + && cd .. && rm -rf php-ext-zstd \ + && git clone --recursive --depth=1 https://github.com/kjdev/php-ext-snappy.git \ + && cd php-ext-snappy \ + && phpize \ + && ./configure \ + && make \ + && make install \ + && echo "extension=snappy.so" > /etc/php/${PHP7_VERSION}/cli/conf.d/10-snappy.ini \ + && cd .. && rm -rf php-ext-snappy \ + && php -m \ + && apt-get -qqy clean + +RUN curl -sS https://getcomposer.org/installer | php -- --version=2.0.7 --install-dir=/usr/local/bin --filename=composer + +# Install Perl modules +RUN apt-get -qqy install --no-install-recommends libcompress-raw-zlib-perl \ + libcpan-uploader-perl \ + libencode-perl \ + libio-string-perl \ + libjson-xs-perl \ + libmodule-install-perl \ + libmodule-install-readmefrompod-perl \ + libobject-tiny-perl \ + libperl-critic-perl \ + libregexp-common-perl \ + libtest-exception-perl \ + libtest-pod-perl \ + libtry-tiny-perl \ + && apt-get -qqy clean + +RUN curl -sSL https://cpanmin.us \ + | perl - --self-upgrade \ + && cpanm --mirror https://www.cpan.org/ install Compress::Zstd \ + Module::Install::Repository \ + && rm -rf .cpanm + +# Install Python3 +ENV PATH="${PATH}:/opt/pypy3.10/bin" \ + PIP_NO_CACHE_DIR=off + +# https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope +ARG BUILDARCH +RUN case "${BUILDARCH:?}" in \ + arm64) pypyarch=aarch64;; \ + *) pypyarch=linux64;; \ + esac \ + && cd /opt \ + && for url in https://downloads.python.org/pypy/pypy3.10-v7.3.12-"$pypyarch".tar.bz2; \ + do curl -fsSL "$url" | tar -xvjpf -; \ + done \ + && ln -s pypy3.10* pypy3.10 + +# Install Python3 packages +ENV PIP_NO_CACHE_DIR=off +RUN python3 -m pip install --upgrade pip setuptools wheel \ + && python3 -m pip install tox zstandard + +# Install .NET SDK +RUN cd /opt ; \ + wget https://dot.net/v1/dotnet-install.sh ; \ + bash ./dotnet-install.sh --channel "3.1" --install-dir "/opt/dotnet" ; \ + bash ./dotnet-install.sh --channel "5.0" --install-dir "/opt/dotnet" ; \ + bash ./dotnet-install.sh --channel "6.0" --install-dir "/opt/dotnet" ; \ + bash ./dotnet-install.sh --channel "7.0" --install-dir "/opt/dotnet" ; + +ENV PATH $PATH:/opt/dotnet + +# Install Ruby +RUN apt-get -qqy install ruby-full \ + && apt-get -qqy clean +RUN mkdir -p /tmp/lang/ruby/lib/avro && mkdir -p /tmp/share +COPY lang/ruby/* /tmp/lang/ruby/ +COPY share/VERSION.txt /tmp/share/ +RUN gem install bundler -v 2.4.22 --no-document && \ + apt-get install -qqy libyaml-dev && \ + cd /tmp/lang/ruby && bundle install + +# Install Rust +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.74.0 +ENV PATH $PATH:/root/.cargo/bin/ + +RUN update-java-alternatives -s "java-1.8.*" + +CMD ["/bin/bash", "-i"]
