diff --git a/scripts/lib/build-pgroonga b/scripts/lib/build-pgroonga index 53077279b6..c0dd9daa8f 100755 --- a/scripts/lib/build-pgroonga +++ b/scripts/lib/build-pgroonga @@ -1,8 +1,8 @@ #!/usr/bin/env bash set -euxo pipefail -version="3.0.3" -sha256=0c54af17afcf7c18e1a3aafadd5d5f7706a9fbcaebd56f4a38664847608e5c97 +version="3.1.0" +sha256=fd020a911ec223f5288e99131c91abb437a9a0aa9d5e51b8fdb96d633bd61fb9 tmpdir="$(mktemp -d)" trap 'rm -r "$tmpdir"' EXIT diff --git a/scripts/setup/apt-repos/zulip/apache-arrow-keyring.gpg b/scripts/setup/apt-repos/zulip/apache-arrow-keyring.gpg new file mode 100644 index 0000000000..c546efc141 Binary files /dev/null and b/scripts/setup/apt-repos/zulip/apache-arrow-keyring.gpg differ diff --git a/scripts/setup/apt-repos/zulip/custom.sh b/scripts/setup/apt-repos/zulip/custom.sh index 5ffbd9f91a..be7c780b7e 100755 --- a/scripts/setup/apt-repos/zulip/custom.sh +++ b/scripts/setup/apt-repos/zulip/custom.sh @@ -2,6 +2,7 @@ set -euo pipefail if [[ ! -e /usr/share/doc/groonga-apt-source/copyright ]]; then + arrow_keyring=$(readlink -f "$LIST_PATH/apache-arrow-keyring.gpg") pgroonga_apt_sign_key=$(readlink -f "$LIST_PATH/pgroonga-packages.groonga.org.asc") remove_pgroonga_apt_tmp_dir() { @@ -26,10 +27,17 @@ if [[ ! -e /usr/share/doc/groonga-apt-source/copyright ]]; then read -r distribution read -r release } <<<"$os_info" + if [ "$distribution" = debian ] && [ "$release" = bookworm ]; then - # PGroonga binaries are not yet provided for Debian 12. - exit + # As of Debian 12, the Groonga repository depends on the + # Apache Arrow repository. + arrow_apt_source_deb="apache-arrow-apt-source-latest-$release.deb" + arrow_apt_source_deb_sign="$arrow_apt_source_deb.asc" + curl -fLO --retry 3 "https://apache.jfrog.io/artifactory/arrow/$distribution/$arrow_apt_source_deb" + curl -fLO --retry 3 "https://apache.jfrog.io/artifactory/arrow/$distribution/$arrow_apt_source_deb_sign" + gpgv --keyring="$arrow_keyring" "$arrow_apt_source_deb_sign" "$arrow_apt_source_deb" fi + groonga_apt_source_deb="groonga-apt-source-latest-$release.deb" groonga_apt_source_deb_sign="$groonga_apt_source_deb.asc.$pgroonga_apt_sign_key_fingerprint" curl -fLO --retry 3 "https://packages.groonga.org/$distribution/$groonga_apt_source_deb" @@ -44,6 +52,10 @@ if [[ ! -e /usr/share/doc/groonga-apt-source/copyright ]]; then # '.../groonga-apt-source-latest-$release.deb' couldn't be # accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) chown _apt . + + if [ "$distribution" = debian ] && [ "$release" = bookworm ]; then + apt-get -y install "./$arrow_apt_source_deb" + fi apt-get -y install "./$groonga_apt_source_deb" } touch "$STAMP_FILE" diff --git a/tools/ci/build-docker-images b/tools/ci/build-docker-images index d0bd045ac6..ca91df8592 100755 --- a/tools/ci/build-docker-images +++ b/tools/ci/build-docker-images @@ -4,4 +4,4 @@ cd "$(dirname "${BASH_SOURCE[0]}")" docker build . --build-arg=BASE_IMAGE=ubuntu:20.04 --pull --tag=zulip/ci:focal docker build . --build-arg=BASE_IMAGE=ubuntu:22.04 --pull --tag=zulip/ci:jammy docker build . --build-arg=BASE_IMAGE=debian:11 --pull --tag=zulip/ci:bullseye -docker build . --build-arg=BASE_IMAGE=debian:bookworm --pull --tag=zulip/ci:bookworm +docker build . --build-arg=BASE_IMAGE=debian:12 --pull --tag=zulip/ci:bookworm