You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.6 KiB

#!/bin/bash
set -x
REPONAME=leapp-actors
SPECNAME=leapp-repository
OUTDIR="$PWD"
if [ -n "$1" ]; then
OUTDIR="$(realpath $1)"
fi
command -v which > /dev/null || dnf -y install which
if [ -z "$(which git)" ]; then
dnf -y install git-core
fi
if ! git status 2>&1 > /dev/null; then
rm -rf leapp
git clone https://github.com/leapp-to/$REPONAME
POPD=`pushd leapp`
fi
BRANCH=master
LEAPP_PATCHES_SINCE_RELEASE="$(git log `git describe --abbrev=0`..HEAD --format=oneline | wc -l)$LEAPP_PATCHES_SINCE_RELEASE_EXTERNAL"
echo LEAPP_PATCHES_SINCE_RELEASE=$LEAPP_PATCHES_SINCE_RELEASE$LEAPP_PATCHES_SINCE_RELEASE_EXTERNAL
VERSION=$(git describe --abbrev=0|cut -d- -f 2)
DIST=$(git describe --abbrev=0|cut -d- -f 3)
LEAPP_BUILD_TAG=".$DIST.$(date --rfc-3339=date | tr -d '-').git.$LEAPP_PATCHES_SINCE_RELEASE"
if [ -n "$POPD" ]
then
popd
fi
echo LEAPP_BUILD_TAG=$LEAPP_BUILD_TAG
export toplevel=$(git rev-parse --show-toplevel)
git archive --remote "$toplevel" --prefix $REPONAME-master/ HEAD > $REPONAME-$VERSION.tar
tar --delete $REPONAME-master/$SPECNAME.spec --file $REPONAME-$VERSION.tar
mkdir -p $REPONAME-master
/bin/cp $toplevel/$SPECNAME.spec $REPONAME-master/$SPECNAME.spec
sed -i "s/^%global dist.*$/%global dist $LEAPP_BUILD_TAG/g" $REPONAME-master/$SPECNAME.spec
tar --append --file $REPONAME-$VERSION.tar $REPONAME-master/$SPECNAME.spec
cat $REPONAME-$VERSION.tar | gzip > $REPONAME-$VERSION.tar.gz
echo $PWD $OUTDIR
SRPMDIR="$OUTDIR"
rpmbuild --define "_srcrpmdir $SRPMDIR" --define "version $VERSION" --define "gittag master" -ts ./$REPONAME-$VERSION.tar.gz