#!/usr/bin/env bash set -euo pipefail os_info="$(. /etc/os-release && printf '%s\n' "$ID" "$VERSION_ID" "$VERSION_CODENAME")" { read -r os_id read -r os_version_id read -r os_version_codename } <<<"$os_info" if [ ! -e /usr/share/doc/groonga-apt-source/copyright ] && [ "$os_id $os_version_id" != "ubuntu 26.04" ]; then pgroonga_apt_sign_key=$(readlink -f "$LIST_PATH/pgroonga-packages.groonga.org.asc") remove_pgroonga_apt_tmp_dir() { rm -rf "$pgroonga_apt_tmp_dir" } pgroonga_apt_tmp_dir=$(mktemp --directory) trap remove_pgroonga_apt_tmp_dir EXIT { cd "$pgroonga_apt_tmp_dir" || exit 1 tmp_gpg_home=.gnupg gpg --homedir="$tmp_gpg_home" --import "$pgroonga_apt_sign_key" # Find fingerprint of the first key. pgroonga_apt_sign_key_fingerprint=$( gpg --homedir="$tmp_gpg_home" --with-colons --list-keys \ | grep '^fpr:' \ | cut --delimiter=: --fields=10 \ | head --lines=1 ) groonga_apt_source_deb="groonga-apt-source-latest-$os_version_codename.deb" groonga_apt_source_deb_sign="$groonga_apt_source_deb.asc.$pgroonga_apt_sign_key_fingerprint" curl -fLO --retry 3 "https://packages.groonga.org/$os_id/$groonga_apt_source_deb" curl -fLO --retry 3 "https://packages.groonga.org/$os_id/$groonga_apt_source_deb_sign" gpg \ --homedir="$tmp_gpg_home" \ --verify \ "$groonga_apt_source_deb_sign" \ "$groonga_apt_source_deb" # To suppress the following warning by "apt-get install": # N: Download is performed unsandboxed as root as file # '.../groonga-apt-source-latest-$os_version_codename.deb' couldn't be # accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) chown _apt . apt-get -y install "./$groonga_apt_source_deb" } touch "$STAMP_FILE" fi