@@ -53,10 +53,12 @@ main() {
5353 lsb-release \
5454 ninja-build \
5555 pkg-config \
56+ protobuf-compiler \
5657 python3 \
5758 python3-dev \
5859 python3-pip \
5960 python3-venv \
61+ r-base \
6062 ruby-full \
6163 software-properties-common \
6264 wget
@@ -70,14 +72,6 @@ main() {
7072 echo " deb https://packages.adoptium.net/artifactory/deb $( awk -F= ' /^VERSION_CODENAME/{print$2}' /etc/os-release) main" | \
7173 tee /etc/apt/sources.list.d/adoptium.list
7274
73- # Install R
74- # https://cloud.r-project.org/bin/linux/ubuntu/
75-
76- wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | \
77- tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
78-
79- add-apt-repository " deb https://cloud.r-project.org/bin/linux/ubuntu $( lsb_release -cs) -cran40/"
80-
8175 # Install Arrow GLib
8276 wget https://packages.apache.org/artifactory/arrow/$( lsb_release --id --short | tr ' A-Z' ' a-z' ) /apache-arrow-apt-source-latest-$( lsb_release --codename --short) .deb
8377 apt install -y -V ./apache-arrow-apt-source-latest-$( lsb_release --codename --short) .deb
@@ -86,7 +80,6 @@ main() {
8680 apt install -y \
8781 libarrow-dev \
8882 libarrow-glib-dev \
89- r-base \
9083 temurin-21-jdk
9184
9285 # Install Maven
@@ -95,7 +88,21 @@ main() {
9588 tar -C /opt/maven -xzvf apache-maven-3.9.9-bin.tar.gz --strip-components=1
9689 export PATH=/opt/maven/bin:$PATH
9790
98- # We run under Docker and this is necessary since the source dir is typically mounted as a volume
91+ # Check if protoc is too old (Ubuntu 22.04). If so, install it from
92+ # upstream instead.
93+ if ! protoc --version | \
94+ awk ' {print $2}{print "3.15"}' | \
95+ sort --version-sort | \
96+ head -n1 | \
97+ grep -E ' ^3\.15.*$' > /dev/null ; then
98+ echo " protoc is too old"
99+
100+ wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v30.2/protoc-30.2-linux-x86_64.zip
101+ unzip -o protoc.zip -d /usr/local -x readme.txt
102+ fi
103+
104+ # We run under Docker and this is necessary since the source dir is
105+ # typically mounted as a volume
99106 git config --global --add safe.directory " ${source_dir} "
100107
101108 " ${source_dir} /dev/release/verify-release-candidate.sh"
0 commit comments