#!/usr/bin/env bash # # Prints the versions of the packages currently in our Linux repositories. set -eu function usage() { echo "Usage: $0 [options]" echo "" echo "Example usage: $0 --rpm --production --beta" echo echo "Options:" echo " -h | --help Show this help message and exit." echo " -v | --verbose Print stderr of all commands." echo " -vv Print both stderr and stdout of all commands." echo " --deb Check version of deb package (default)." echo " --rpm Check version of rpm package (default)." echo " --production | --prod Check packages in production repositories (default)." echo " --staging Check packages in staging repositories." echo " --development | --dev Check packages in development repositories." echo " --stable Check packages in stable repositories (default)." echo " --beta Check packages in beta repositories." exit 1 } SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$SCRIPT_DIR" # shellcheck source=ci/linux-repository-builder/build-linux-repositories-config.sh source ../../../ci/linux-repository-builder/build-linux-repositories-config.sh # shellcheck source=scripts/utils/log source ../../../scripts/utils/log deb="false" rpm="false" repository_server_public_url="$PRODUCTION_LINUX_REPOSITORY_PUBLIC_URL" release_channel="stable" silent_stdout=">/dev/null" silent_stderr="2>/dev/null" while [[ "$#" -gt 0 ]]; do case $1 in -h|--help) usage;; -v|--verbose) silent_stderr="" ;; -vv) silent_stdout="" silent_stderr="" ;; --deb) deb="true";; --rpm) rpm="true";; --production|--prod) repository_server_public_url="$PRODUCTION_LINUX_REPOSITORY_PUBLIC_URL";; --staging) repository_server_public_url="$STAGING_LINUX_REPOSITORY_PUBLIC_URL";; --development|--dev) repository_server_public_url="$DEV_LINUX_REPOSITORY_PUBLIC_URL";; --stable) release_channel="stable";; --beta) release_channel="beta";; *) log_error "Unknown parameter: $1\n" usage ;; esac shift done if [[ $deb == "false" && $rpm == "false" ]]; then deb="true"; rpm="true"; fi if [[ $deb == "true" ]]; then if [[ $rpm == "true" ]]; then log_header "deb" fi bash -c " podman run --rm -it debian:12 sh -c \ \"apt update $silent_stderr $silent_stdout; \ apt install -y curl $silent_stderr $silent_stdout; \ curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc $repository_server_public_url/deb/mullvad-keyring.asc; \ echo \\\"deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=amd64] $repository_server_public_url/deb/$release_channel $release_channel main\\\" > /etc/apt/sources.list.d/mullvad.list; \ apt update $silent_stderr $silent_stdout; \ apt list mullvad-* $silent_stderr | grep 'amd64'\" $silent_stderr" fi if [[ $rpm == "true" ]]; then if [[ $deb == "true" ]]; then log_header "rpm" fi bash -c "podman run --rm -it fedora:41 sh -c \ \"dnf install -y 'dnf-command(config-manager)' $silent_stderr $silent_stdout; \ dnf config-manager addrepo --from-repofile=$repository_server_public_url/rpm/$release_channel/mullvad.repo $silent_stderr; \ dnf list --refresh mullvad-* $silent_stderr | grep 'x86_64'\" $silent_stderr" fi