#!/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 ssh mock@$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 mount -t nfs -o ro,nolock nfs1.fedora.phx.redhat.com:/mnt/koji/mash/rawhide-$TREE/development development rm -f /var/lib/rpm/__db* 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 -rf output/development/$ARCH/os/{Packages,repodata} EEE EOF # so, so wrong rsync -va mock@$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 -va mock@$HOST:/var/lib/mock/fedora-development-pungi-$ARCH-$TREE/root/tmp/treebuild.$TREE/output/logs/* /mnt/koji/mash/rawhide-$TREE/logs/ ssh mock@$HOST /bin/bash -- << EOF set -x mock -r fedora-devel-pungi-$ARCH --uniqueext=$TREE clean EOF