URI: 
       torchestrate.sh - amprolla - devuan's apt repo merger
  HTML git clone https://git.parazyd.org/amprolla
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       torchestrate.sh (1735B)
       ---
            1 #!/bin/sh
            2 # See LICENSE file for copyright and license details.
            3 
            4 # Orchestration of incremental updates
            5 
            6 # Make sure these correlate to lib/config.py
            7 AMPROLLA_UPDATE="${AMPROLLA_UPDATE:-/home/amprolla/amprolla/amprolla_update.py}"
            8 REPO_ROOT="${REPO_ROOT:-/home/amprolla/amprolla}"
            9 AMPROLLA_LOCK="/run/lock/amprolla.lock"
           10 RSYNC_URL="mirror@pkgmaster.devuan.org:/home/mirror/"
           11 
           12 [ -f "${AMPROLLA_LOCK}" ] || {
           13 
           14 [ -d "${REPO_ROOT}/merged-staging" ] || mkdir "${REPO_ROOT}/merged-staging"
           15 [ -d "${REPO_ROOT}/merged-production" ] || mkdir "${REPO_ROOT}/merged-production"
           16 
           17 
           18 ln -snf "$REPO_ROOT"/merged-staging "$REPO_ROOT"/merged
           19 # The break call is temporary to catch unhandled exceptions in the testing phase
           20 python3 "$AMPROLLA_UPDATE" || {
           21         ln -snf "$REPO_ROOT"/merged-production "$REPO_ROOT"/merged
           22 }
           23 
           24 printf "rsyncing volatile to production... "
           25 rsync --delete -raX "$REPO_ROOT"/merged-volatile/* "$REPO_ROOT"/merged-production
           26 echo "done!"
           27 
           28 ln -snf "$REPO_ROOT"/merged-production "$REPO_ROOT"/merged
           29 
           30 printf "rsyncing volatile to staging... "
           31 rsync --delete -raX "$REPO_ROOT"/merged-volatile/* "$REPO_ROOT"/merged-staging
           32 echo "done!"
           33 
           34 printf "rsyncing production to pkgmaster... "
           35 rsync --delete -raX \
           36         "$REPO_ROOT"/merged-production/ "${RSYNC_URL}/merged"
           37 echo "done!"
           38 
           39 # handle obsolete package logs
           40 cat "$REPO_ROOT"/log/*-oldpackages.txt | sort | uniq > "$REPO_ROOT"/log/oldpackages.txt
           41 
           42 _logfiles="libsystemd bannedpackages"
           43 mkdir -p "$REPO_ROOT"/log/t
           44 for i in $_logfiles; do
           45         sort "$REPO_ROOT/log/${i}.txt" | uniq > "$REPO_ROOT/log/t/${i}.txt"
           46 done
           47 cp -f "$REPO_ROOT"/log/t/*.txt "$REPO_ROOT"/log/
           48 
           49 rsync "$REPO_ROOT"/log/t/*.txt ${RSYNC_URL}
           50 rsync "$REPO_ROOT"/log/oldpackages.txt "$REPO_ROOT"/log/amprolla.txt ${RSYNC_URL}
           51 }