7dad4d3
#!/bin/sh
7dad4d3
7dad4d3
# for testing updates to ghc-rpm-macros etc
7dad4d3
# In a pkg dir run
7dad4d3
#   $ ./test-rebuild.sh
7dad4d3
# or clone a pkg branch:
493f56f
#   $ ./test-rebuild.sh [pkg]
7dad4d3
7dad4d3
set -e
7dad4d3
7dad4d3
PKG=${1:-$(fedpkg gimmespec | sed -e "s/.spec//")}
7dad4d3
7dad4d3
[ -d "$PKG" -o -f "$PKG.spec" ] || fedpkg clone -a $PKG
7dad4d3
7dad4d3
[ -d "$PKG" ] && cd $PKG
7dad4d3
7dad4d3
ARCH=$(arch)
7dad4d3
7dad4d3
#if [ -d $ARCH ]; then
7dad4d3
#  echo Please move existing $ARCH/
7dad4d3
#  exit 1
7dad4d3
#fi
7dad4d3
649621d
if [ -f /etc/os-release ]; then
649621d
    eval $(grep VERSION_ID /etc/os-release)
649621d
    case $VERSION_ID in
d02dbab
        22) BRANCH=master ;;
5bd7efd
        7.*) BRANCH=epel7 ;;
649621d
        *) BRANCH="f$VERSION_ID" ;;
649621d
    esac
649621d
else
649621d
# assume RHEL6
649621d
    BRANCH=el6
649621d
fi
0b2f176
493f56f
fedpkg switch-branch $BRANCH
7dad4d3
a7b6b97
if [ "* $BRANCH" != "$(git branch | grep '^*')" ]; then
0b2f176
  echo "Git branch does not match Fedora installation!"
0b2f176
  exit 1
0b2f176
fi
0b2f176
649621d
git pull
649621d
7dad4d3
sudo yum-builddep $PKG.spec
7dad4d3
7dad4d3
fedpkg local
7dad4d3
7dad4d3
VERREL=$(fedpkg verrel | sed -e "s/^$PKG-//")
7dad4d3
7dad4d3
TMP=test-tmp
7dad4d3
7dad4d3
mkdir -p $TMP/
7dad4d3
7dad4d3
PKGS=$(cd $ARCH; rpm -qp $(ls *-$VERREL*.rpm))
7dad4d3
7dad4d3
for i in $PKGS; do
7dad4d3
  # FIXME: should check NVR is same before building
7dad4d3
  rpm -q --quiet $i || sudo yum install -q $i
7dad4d3
  for k in list requires provides scripts; do
7dad4d3
    rpm -qp --$k $ARCH/$i.rpm | grep -v rpmlib > $TMP/$i.$k.test || :
7dad4d3
    rpm -q --$k $i | grep -v rpmlib > $TMP/$i.$k.installed || :
7dad4d3
    diff -u $TMP/$i.$k.installed $TMP/$i.$k.test || :
7dad4d3
  done
7dad4d3
done