#!/bin/sh -x # pungify - run pungi on a particular rawhide tree # needs passed: # the tree version (usually a datestamp) # the arch # the hostname to connect to (can be user@host) # # Hosts must have valid mock development configs. More paths are hardcoded in this script than probably should be. TREE=$1 ARCH=$2 HOST=$3 usage() { echo "Usage: pungify " exit 1 } [ -z "$TREE" -o -z "$ARCH" -o -z "$HOST" ] && usage su mock -c "ssh $HOST /bin/bash --" << EOF set -x mock -r fedora-devel-pungi-$ARCH --uniqueext=$TREE --init || exit 1 mock -r fedora-devel-pungi-$ARCH --uniqueext=$TREE --install pungi nfs-utils setarch || exit 1 mock -r fedora-devel-pungi-$ARCH --uniqueext=$TREE --arch $ARCH shell -- << EEE set -x mkdir -p /tmp/treebuild.$TREE/{output,cache,development} cd /tmp/treebuild.$TREE touch rawhide.ks cat > /etc/yum.conf << EOY [main] pkgpolicy=newest distroverpkg=redhat-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=0 reposdir=/var/empty metadata_expire=1800 [development] name=Fedora - Development baseurl=file:///tmp/treebuild.$TREE/development/$ARCH/os/ enabled=1 gpgcheck=0 EOY mount -t nfs -o ro,nolock xen2.fedora.phx.redhat.com:/mnt/koji/mash/rawhide-$TREE/development development rm -f /var/lib/rpm/__db* yum -y upgrade mkdir -p output/development/$ARCH/os/ ln -s /tmp/treebuild.$TREE/development/$ARCH/os/Packages output/development/$ARCH/os/Packages ln -s /tmp/treebuild.$TREE/development/$ARCH/os/repodata output/development/$ARCH/os/repodata pungi -c ./rawhide.ks -B --destdir /tmp/treebuild.$TREE/output --cachedir /tmp/treebuild.$TREE/cache --ver development umount development rm -f /var/lib/rpm/__db* rm -rf output/development/$ARCH/os/{Packages,repodata} EEE EOF # so, so wrong rsync -vae "ssh -i /var/lib/mock/.ssh/id_dsa" $HOST:/var/lib/mock/fedora-development-pungi-$ARCH-$TREE/root/tmp/treebuild.$TREE/output/development/$ARCH/os/ /mnt/koji/mash/rawhide-$TREE/development/$ARCH/os/ rsync -vae "ssh -i /var/lib/mock/.ssh/id_dsa" $HOST:/var/lib/mock/fedora-development-pungi-$ARCH-$TREE/root/tmp/treebuild.$TREE/output/logs/* /mnt/koji/mash/rawhide-$TREE/logs/ su mock -c "ssh $HOST /bin/bash --" << EOF set -x mock -r fedora-devel-pungi-$ARCH --uniqueext=$TREE clean EOF