#!/usr/bin/env sh set -e get_latest_release_version() { curl --silent "https://api.github.com/repos/$1/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' } package_installed() { apk info -vv | grep "$1" 1> /dev/null } main() { local GITHUB_PROJECT="sgerrand/alpine-pkg-glibc" local VERSION="$(get_latest_release_version "$GITHUB_PROJECT")" local RELEASE_PUBKEY_PATH="/etc/apk/keys/sgerrand.rsa.pub" local RELEASE_PATH="https://github.com/sgerrand/alpine-pkg-glibc/releases/download/$VERSION" local DEFAULT_LANG="en_US" [ -f "$RELEASE_PUBKEY_PATH" ] || { sudo wget -q -O $RELEASE_PUBKEY_PATH https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub } package_installed glibc-$VERSION || { sudo curl -s -OL $RELEASE_PATH/glibc-$VERSION.apk sudo apk add glibc-$VERSION.apk } package_installed glibc-bin-$VERSION || { sudo curl -s -OL $RELEASE_PATH/glibc-bin-${VERSION}.apk sudo apk add glibc-bin-$VERSION.apk } package_installed glibc-i18n-$VERSION || { sudo curl -s -OL $RELEASE_PATH/glibc-i18n-$VERSION.apk sudo apk add glibc-i18n-$VERSION.apk sudo /usr/glibc-compat/bin/localedef -i $DEFAULT_LANG -f UTF-8 $DEFAULT_LANG.UTF-8 } } main