tunasync-scripts/debian-elts.sh
Shengqi Chen f7df7b1dd8
Add scripts for debian-elts
Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
2023-12-02 17:09:47 +08:00

35 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# requires: debmirror
set -e
set -o pipefail
_here=$(dirname $(realpath $0))
function join { local IFS=","; echo "$*"; }
# standard tunasync env
BASE_PATH="${TUNASYNC_WORKING_DIR}"
APT_URL=${TUNASYNC_UPSTREAM_URL:-"https://deb.freexian.com/extended-lts"}
# parse APT_URL to different parts
proto="$(printf "$APT_URL" | grep :// | sed -e's,^\(.*://\).*,\1,g')"
url="$(printf ${APT_URL/$proto/})"
host="$(printf $url | cut -d/ -f1)"
path="/$(printf $url | grep / | cut -d/ -f2-)"
# override by env if needed
APT_HOST=${DEBMIRROR_HOST:-$host}
APT_PROTO=${DEBMIRROR_PROTO:-$proto}
APT_PATH=${DEBMIRROR_PATH:-$path}
APT_KEYRING_FILE=${DEBMIRROR_APT_KEYRING:-"https://deb.freexian.com/extended-lts/archive-key.gpg"}
# leave all possible values here
# debmirror will only download the intersection of provided options and the repo provides
ARCHES=(amd64 i386 armhf armel arm64)
DIST=(jessie stretch)
# download keyring
keyring_file="/tmp/freexian.$RANDOM.kbx"
wget "$APT_KEYRING_FILE" -O "$keyring_file"
debmirror -a $(join "${ARCHES[@]}") -d $(join "${DIST[@]}") -h "$APT_HOST" -r "$APT_PATH" --method ${APT_PROTO} -v --keyring "$keyring_file" --diff mirror --rsync-extra none --i18n --getcontents "${BASE_PATH}"