diff --git a/doc/downgrade.8.md b/doc/downgrade.8.md index 081d98cf..93e5870c 100644 --- a/doc/downgrade.8.md +++ b/doc/downgrade.8.md @@ -29,6 +29,9 @@ Where `$caches` is the list of all `CacheDir`s as defined in ## ENVIRONMENT VARIABLES +*ARCH* + Target architecture. Default is determined by `uname -m`. + *PACMAN* The pacman command. Default is *pacman*. diff --git a/downgrade b/downgrade index ee4b5613..7e9850de 100755 --- a/downgrade +++ b/downgrade @@ -38,7 +38,7 @@ prompt_to_ignore() { search_packages() { ((NOARM)) || \ - curl --fail --silent --data "arch=$(uname -m)" \ + curl --fail --silent --data "arch=$ARCH" \ --data-urlencode "pkgname=$1" "$ARM_URL/exact" | cut -d '|' -f 5 ((NOCACHE)) || \ @@ -63,6 +63,7 @@ install_pkg() { if [[ "$pkg" == 'http://'* ]]; then url="$pkg" + url="${url/\/undefined\///$ARCH/}" pkg="${url##*/}" curl --silent "$url" > "$pkg" @@ -71,6 +72,7 @@ install_pkg() { [[ -f "$pkg" ]] && sudo "$PACMAN" -U "$pkg" } +ARCH=${ARCH:-$(uname -m)} PACMAN="${PACMAN:-pacman}" PACMAN_CONF="${PACMAN_CONF:-/etc/pacman.conf}" ARM_URL="${ARM_URL:-http://repo-arm.archlinuxcn.org}"