pungi-iot/sync-release.sh
Paul Whalen d23774204c F-44: Update for branching
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-08-12 09:28:34 -04:00

53 lines
2.3 KiB
Bash
Executable file

#!/bin/sh
set -x
export LC_ALL=C
LABEL=$1
# Remove the label from arguments. It gets special treatment. Other arguments
# to the script are passed to pungi-koji directly.
shift
CONFIG="fedora-iot.conf"
TARGET_DIR="/mnt/koji/compose/iot"
NIGHTLY=""
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-IoT"
RELEASE="44"
RELEASE_TITLE="44"
COMPSFILE="comps-f44.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <branched@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
RSYNCTARGET="/pub/alt/iot/44/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
# Public URL the synced compose will wind up at, we put it in fedmsgs
LOCATION="https://dl.fedoraproject.org$RSYNCTARGET"
# Update fedmsg template
#fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION")
#fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID" "$LOCATION")
$RSYNCPREFIX mkdir -p $DESTDIR
# Tell interested persons that the rsync is starting (zomg!)
#send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
for dir in IoT metadata ;
do
$RSYNCPREFIX rsync -avhH --delete-after $DESTDIR/compose/$dir/ "$RSYNCTARGET/$dir/" ;
$RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID
done
# Tell interested persons that the rsync is done.
#send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete
# Tell everyone by fedmsg about the compose
#send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete
#SUBJECT='Fedora IoT'$RELEASE' compose report: '$SHORTCOMPOSE_ID' changes'
#for tomail in $TOMAIL ; do
# cat $DESTDIR/logs/*verbose $DESTDIR/logs/depcheck | \
# mutt -e "set from=\"$FROM\"" -e 'set envelope_from=yes' -s "$SUBJECT" $tomail
#done
#find $TARGET_DIR -xdev -depth -maxdepth 2 -mtime +14 -name Fedora-IoT-${RELEASE}\* -exec rm -rf {} \;