Project

General

Profile

« Previous | Next » 

Revision 9131e6da

Added by Dominic Cleal over 9 years ago

Add script to generate koji tag cloning commands

Original author Jan Blazek <>

Updated to loop through OSes and various SCL configurations.

View differences:

koji/copy-tags-commands.sh
#!/bin/bash
if [ $# -ne 2 ]; then
echo "$0 OLD_VERSION NEW_VERSION"
echo " echoes commands to clone old Koji tags (usually 'nightly') to a new release"
echo " makes no changes to the server, execute its output to action"
exit 1
fi
OLD=$1
VERSION=$2
NONSCL_SYSTEMS="fedora19"
SCL_SYSTEMS="rhel6 rhel7"
clone() {
echo kkoji clone-tag $PRODUCT-$OLD-$SYSTEM $PRODUCT-$VERSION-$SYSTEM
echo kkoji add-tag --parent=$PRODUCT-$VERSION-$SYSTEM $PRODUCT-$VERSION-$SYSTEM-override
echo kkoji add-tag --parent=$PRODUCT-$VERSION-$SYSTEM-override $PRODUCT-$VERSION-$SYSTEM-build
echo kkoji lock-tag $PRODUCT-$VERSION-$SYSTEM-build
ARCHES=`kkoji taginfo $PRODUCT-$OLD-$SYSTEM-build | grep Arches | sed -e 's|^Arches: ||' -e 's| |,|g'`
echo kkoji edit-tag --arches=$ARCHES $PRODUCT-$VERSION-$SYSTEM-build
kkoji list-external-repos --quiet --tag=$PRODUCT-$OLD-$SYSTEM-build | awk '{print $1 " " $2}' | while read PRIORITY REPO; do
echo kkoji add-external-repo -p $PRIORITY -t $PRODUCT-$VERSION-$SYSTEM-build $REPO
done
kkoji list-groups $PRODUCT-$OLD-$SYSTEM-build | awk '{print $1}' | while read LINE; do
echo $LINE | grep -q ":$" && {
# LINE is a package
PKG=`echo $LINE | tr -d ':'`
echo kkoji add-group-pkg $PRODUCT-$VERSION-$SYSTEM-build $GROUP $PKG
continue
}
# LINE is a group
GROUP=$LINE
echo kkoji add-group $PRODUCT-$VERSION-$SYSTEM-build $GROUP
done
echo kkoji add-target $PRODUCT-$VERSION-$SYSTEM $PRODUCT-$VERSION-$SYSTEM-build $PRODUCT-$VERSION-$SYSTEM
}
PRODUCT=foreman
# clone non-SCL OSes, nonscl tags for SCL OSes
for SYSTEM in $NONSCL_SYSTEMS $(echo $SCL_SYSTEMS | sed 's/\(^\| \)/\1nonscl-/g'); do
clone $PRODUCT-$OLD-$SYSTEM $PRODUCT-$VERSION-$SYSTEM
done
# clone SCL tags, inherit from nonscl
for SYSTEM in $SCL_SYSTEMS; do
clone $PRODUCT-$OLD-$SYSTEM $PRODUCT-$VERSION-$SYSTEM
echo kkoji add-tag-inheritance --priority=10 $PRODUCT-$VERSION-$SYSTEM foreman-$VERSION-nonscl-$SYSTEM
done
PRODUCT=foreman-plugins
# clone plugin tags, inherit from SCL tags
for SYSTEM in $NONSCL_SYSTEMS $SCL_SYSTEMS; do
clone $PRODUCT-$OLD-$SYSTEM $PRODUCT-$VERSION-$SYSTEM
echo kkoji add-tag-inheritance --priority=10 $PRODUCT-$VERSION-$SYSTEM-build foreman-$VERSION-$SYSTEM
done

Also available in: Unified diff