Revision 9131e6da
Added by Dominic Cleal over 9 years ago
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
Add script to generate koji tag cloning commands
Original author Jan Blazek <jblazek@redhat.com>
Updated to loop through OSes and various SCL configurations.