tunasync-scripts/proxmox.sh
Zenithal 26775958c3
proxmox: follow upstream directory structure
Migration guide:

1. mv /debian/dists /debian/pve/dists (compatibility maintained by
script)
2. mv /pmg /debian/pmg
3. mv /pbs /debian/pbs
4. mv /pbs-client /debian/pbs-client

If you want to maintain the compatibility of latter three
directories (e.g. already have users), you can symlink them.
2023-01-26 23:19:23 +08:00

43 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# requires: wget, timeout
set -e
set -o pipefail
_here=`dirname $(realpath $0)`
apt_sync="${_here}/apt-sync.py"
BASE_URL="${TUNASYNC_UPSTREAM_URL:-"http://download.proxmox.com"}"
BASE_PATH="${TUNASYNC_WORKING_DIR}"
APT_PATH="${BASE_PATH}/debian"
PVE_PATH="${APT_PATH}/pve"
PBS_PATH="${APT_PATH}/pbs"
PBS_CLIENT_PATH="${APT_PATH}/pbs-client"
PMG_PATH="${APT_PATH}/pmg"
# === download deb packages ====
"$apt_sync" --delete "${BASE_URL}/debian/pve" @debian-current pve-no-subscription,pvetest amd64 "$PVE_PATH"
"$apt_sync" --delete "${BASE_URL}/debian/pbs" @debian-current pbs-no-subscription amd64 "$PBS_PATH"
"$apt_sync" --delete "${BASE_URL}/debian/pbs-client" @debian-current main amd64 "$PBS_CLIENT_PATH"
"$apt_sync" --delete "${BASE_URL}/debian/pmg" @debian-current pmg-no-subscription amd64 "$PMG_PATH"
# upstream directory structure
ln -sf pve/dists $APT_PATH/dists
echo "Debian finished"
# === download standalone files ====
function sync_files() {
repo_url="$1"
repo_dir="$2"
[ ! -d "$repo_dir" ] && mkdir -p "$repo_dir"
cd $repo_dir
lftp "${repo_url}/" -e "mirror --verbose -P 5 --delete --only-newer; bye"
}
sync_files "${BASE_URL}/images" "${BASE_PATH}/images"
sync_files "${BASE_URL}/iso" "${BASE_PATH}/iso"
echo "Proxmox finished"