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)
c35adbb
    if rpm -q --quiet epel-release; then
c35adbb
        PREFIX=epel
c35adbb
    else
c35adbb
        PREFIX=f
c35adbb
    fi
c35adbb
    if git branch -a | grep -q $PREFIX$VERSION_ID; then
c35adbb
        BRANCH=$PREFIX$VERSION_ID
d6e0ba9
    else
d6e0ba9
        case $VERSION_ID in
d6e0ba9
            7.*) BRANCH=epel7 ;;
70d2298
            *) BRANCH=rawhide ;;
d6e0ba9
        esac
d6e0ba9
    fi
649621d
fi
0b2f176
f279bff
if [ "* $BRANCH" != "$(git branch | grep '^*')" ]; then
f279bff
  fedpkg switch-branch $BRANCH
f279bff
fi
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
59959cc
if [ "$UID" != "0" ]; then
59959cc
    SUDO="sudo"
59959cc
else
59959cc
    SUDO=""
59959cc
fi
59959cc
f279bff
echo Running dnf builddep:
59959cc
$SUDO dnf 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
6715b2e
PKGS=$(cd $ARCH; rpm -qp *-$VERREL.*.rpm)
7dad4d3
7dad4d3
for i in $PKGS; do
7dad4d3
  # FIXME: should check NVR is same before building
59959cc
  rpm -q --quiet $i || $SUDO dnf 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 || :
4972b52
    diff -u $TMP/$i.$k.installed $TMP/$i.$k.test -I /usr/lib/.build-id || :
7dad4d3
  done
7dad4d3
done