summaryrefslogtreecommitdiffstats
path: root/scripts/buildrawhide
blob: 8033ff93f3aa8d30393a37f51c8597b889faafb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh

# 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 <date>"
	exit 1
}

OLD=$(find /mnt/koji/mash/ -maxdepth 1 -type d -name "rawhide-20*" 2>/dev/null| sort | tail -1)

mkdir /tmp/mashbuild.$DATE
mkdir -p /mnt/koji/mash/rawhide-$DATE/logs
pushd /tmp/mashbuild.$DATE
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 --init
mock -r $MOCKCONFIG --no-clean --install koji yum createrepo cvs make intltool findutils mash yum-utils rsync repoview
mock -r $MOCKCONFIG --chroot "mash -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

if [ -n "\$OLD" ]
  then
  mock -r $MOCKCONFIG --chroot "/usr/bin/repodiff -q --new=file:///mnt/koji/mash/rawhide-$DATE/development/source/SRPMS --old=file://\$OLD/development/source/SRPMS > /mnt/koji/mash/rawhide-$DATE/logs/repodiff"
fi

mock -r $MOCKCONFIG --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 }')
    /home/fedora/notting/pungify $DATE $arch mock@$HOST > /mnt/koji/mash/rawhide-$DATE/logs/pungify-$arch.log 2>&1 &
    done

wait
mock -r $MOCKCONFIG --clean

[ -n "$NOSYNC" ] && exit $rc
cd /tmp
# data
su ftpsync -c "rsync $RSYNC_OPTS --exclude repodata/ /mnt/koji/mash/rawhide-$DATE/development/ $DESTPATH"
# repodata & cleanup
su ftpsync -c "rsync $RSYNC_OPTS --delete --delete-after /mnt/koji/mash/rawhide-$DATE/development/ $DESTPATH"
if [ "$?" = "0" ]; then
    cat /mnt/koji/mash/rawhide-$DATE/logs/repodiff /mnt/koji/mash/rawhide-$DATE/logs/depcheck | su rawhide -c "mail -s 'rawhide report: '$DATE' changes' fedora-devel-list@redhat.com,fedora-test-list@redhat.com"
fi
exit 0