|
|
1976339 |
#!/bin/bash -ex
|
|
|
1976339 |
|
|
|
c4bd9ea |
resultdir="/var/lib/mock/xmvn-rawhide/result"
|
|
|
1976339 |
|
|
|
f1f7e7e |
# create directories
|
|
|
f1f7e7e |
repo=RPM/latest/
|
|
|
f1f7e7e |
[[ ! -d ${repo} ]] && mkdir -p ${repo}
|
|
|
1976339 |
|
|
|
f1f7e7e |
# update version and release tag in spec file
|
|
|
f1f7e7e |
version=$(sed -n '/<version>/{s/.*>\(.*\)<.*/\1/;s/-SNAPSHOT$//;p;q}' pom.xml)
|
|
|
f1f7e7e |
release=$(git describe --match="[^(jenkins)].*" --tags | sed 's/[^-]*-/0./;s/-/./;s/g/git/')
|
|
|
f1f7e7e |
sed -i "s/^Version:\s\+[0-9.]*$/Version: ${version}/" xmvn.spec
|
|
|
f1f7e7e |
sed -i "s/^Release:\s\+[0-9.]*%{?dist}$/Release: ${release}/" xmvn.spec
|
|
|
f1f7e7e |
|
|
|
46427f7 |
# Skip patch application on Jenkins - it is supposed to always use the
|
|
|
46427f7 |
# latest vanilla upstream snapshot.
|
|
|
46427f7 |
sed -i "/^Patch[0-9]*:/d" xmvn.spec
|
|
|
46427f7 |
sed -i "/^%patch[0-9]* -p/d" xmvn.spec
|
|
|
46427f7 |
|
|
|
f1f7e7e |
# make tarball
|
|
|
e786579 |
git archive -v --prefix=xmvn-${version}/ HEAD | xz > xmvn-${version}.tar.xz
|
|
|
f1f7e7e |
|
|
|
f1f7e7e |
# crate srpm
|
|
|
1976339 |
rm -f SRPMS/*
|
|
|
1976339 |
rpmbuild -bs --clean --define "_topdir `pwd`" --define "_sourcedir `pwd`" xmvn.spec
|
|
|
1976339 |
|
|
|
f1f7e7e |
# build RPM with custom mock config
|
|
|
f1f7e7e |
rm -Rf ${resultdir}/*
|
|
|
863c71c |
# print root.log and build.log in case of failure
|
|
|
7995e21 |
trap "cat ${resultdir}/*.log || :" 0
|
|
|
44f8e92 |
mock -r ../..$PWD/fedora-rawhide-x86_64 SRPMS/*.src.rpm
|
|
|
1976339 |
|
|
|
f1f7e7e |
# remove unneeded stuff
|
|
|
f1f7e7e |
rm -f xmvn-*.tar.xz
|
|
|
1976339 |
|
|
|
f1f7e7e |
last_bn=`grep "Build number" ${repo}/info.log | awk '{ print $3 }'`
|
|
|
f1f7e7e |
if [ -n "${last_bn}" ]; then
|
|
|
f1f7e7e |
mkdir -p RPM/${last_bn}
|
|
|
f1f7e7e |
mv ${repo}/* RPM/${last_bn}
|
|
|
1976339 |
|
|
|
f1f7e7e |
# we only want keep RPMs from last 10 builds
|
|
|
f1f7e7e |
blist=`find ./RPM/ -maxdepth 1 -name "[0-9]*"`
|
|
|
f1f7e7e |
for bn in $blist; do
|
|
|
f1f7e7e |
if [ `basename $bn` -lt `expr $last_bn - 10` ]; then
|
|
|
f1f7e7e |
rm -Rf $bn
|
|
|
f1f7e7e |
fi
|
|
|
f1f7e7e |
done
|
|
|
f1f7e7e |
fi
|
|
|
1976339 |
|
|
|
f1f7e7e |
# copy resulting RPMs to RPM/latest
|
|
|
f1f7e7e |
cp ${resultdir}/* ${repo}
|
|
|
1976339 |
|
|
|
f1f7e7e |
tail -n 50 ${resultdir}/build.log
|
|
|
1976339 |
|
|
|
f1f7e7e |
createrepo ${repo}
|
|
|
1976339 |
|
|
|
f1f7e7e |
# store current build number into the file
|
|
|
f1f7e7e |
echo "Build number: $BUILD_NUMBER" >> ${repo}/info.log
|
|
|
1976339 |
|