#!/bin/bash # runs currently on releng1.fedora.phx.redhat.com DATE=$1 RSYNC_OPTS="-rlptDHhv --delay-updates" DESTPATH="/pub/fedora/linux/development/" MOCKCONFIG=fedora-rawhide-compose-i386 [ -z "$DATE" ] && { echo "usage: buildrawhide " exit 1 } TMPDIR=`mktemp -d /tmp/rawhide.$DATE.XXXX` mkdir -p /mnt/koji/mash/rawhide-$DATE/logs echo "Compose started at `date --utc`" > /mnt/koji/mash/rawhide-$DATE/logs/start echo >> /mnt/koji/mash/rawhide-$DATE/logs/start pushd $TMPDIR cvs -d :pserver:anonymous@cvs.fedora.redhat.com:/cvs/pkgs -z3 -q co comps && { pushd comps make comps-rawhide cp comps-rawhide.xml /mnt/koji/mash/rawhide-$DATE/logs/ popd } popd mock -r $MOCKCONFIG --uniqueext=$DATE --init mock -r $MOCKCONFIG --uniqueext=$DATE --no-clean --install koji yum createrepo cvs make intltool findutils mash yum-utils rsync repoview # Copy in the hosts file so that we get the right address for koji mock -r $MOCKCONFIG --uniqueext=$DATE --copyin /etc/hosts /etc/hosts >/dev/null 2>&1 # this reports to fail, but actually works # Drop privs here so that we run as the masher UID mock -r $MOCKCONFIG --uniqueext=$DATE --unpriv --chroot "mash -p /pub/fedora/linux/development -o /mnt/koji/mash/rawhide-$DATE --compsfile /mnt/koji/mash/rawhide-$DATE/logs/comps-rawhide.xml development > /mnt/koji/mash/rawhide-$DATE/logs/mash.log 2>&1" || exit 1 mock -r $MOCKCONFIG --uniqueext=$DATE --chroot "rm -f /var/lib/rpm/__db*" mock -r $MOCKCONFIG --uniqueext=$DATE --unpriv --chroot "/usr/bin/repodiff -q --new=file:///mnt/koji/mash/rawhide-$DATE/development/source/SRPMS --old=file:///pub/fedora/linux/development/source/SRPMS > /mnt/koji/mash/rawhide-$DATE/logs/repodiff" mock -r $MOCKCONFIG --uniqueext=$DATE --unpriv --chroot "/usr/share/mash/spam-o-matic /mnt/koji/mash/rawhide-$DATE/development >/mnt/koji/mash/rawhide-$DATE/logs/depcheck" & for arch in i386 x86_64 ppc ; do HOST=$(koji list-hosts --quiet --enabled --ready --arch=$arch | sed 's|/| |g' | sort -gn -k4 -k5r | awk -F '.' '{ print $1 ; exit }') ./scripts/pungify $DATE $arch $HOST > /mnt/koji/mash/rawhide-$DATE/logs/pungify-$arch.log 2>&1 & done wait mock -r $MOCKCONFIG --uniqueext=$DATE --clean [ -n "$NOSYNC" ] && exit $rc cd /tmp # data sudo -u ftpsync /usr/bin/rsync $RSYNC_OPTS --exclude repodata/ /mnt/koji/mash/rawhide-$DATE/development/ $DESTPATH # repodata & cleanup sudo -u ftpsync /usr/bin/rsync $RSYNC_OPTS --delete --delete-after /mnt/koji/mash/rawhide-$DATE/development/ $DESTPATH if [ "$?" = "0" ]; then send_rawhide_report --subject 'rawhide report: '$DATE' changes' /mnt/koji/mash/rawhide-$DATE/logs/start /mnt/koji/mash/rawhide-$DATE/logs/repodiff /mnt/koji/mash/rawhide-$DATE/logs/depcheck fi exit 0