MockBuild
Donnerstag, 12. Februar 2009שָׁלוֹם
Ein kleines Helferlein um den build mit mock etwas zu automatisieren…
/usr/local/bin/mockbuild
#!/bin/bash
BASEDIR=${HOME}/rpmbuild
FEDORAVER=${FEDORAVER:-"fedora-$(rpm --eval %{fedora})-$(rpm --eval %{_arch})"}
MOCKDIR=${BASEDIR}/mock-results/${FEDORAVER}
SPECDIR=${BASEDIR}/SPECS
if [ ${#} -lt 1 ]; then
echo 'usage: mockbuild <packages>'
exit 1
fi
# check directories
if ! [ -d ${BASEDIR} ]; then
echo ${BASEDIR} not existent
exit 1
fi
if ! [ -d ${SPECDIR} ]; then
echo ${SPECDIR} not existent
exit 1
fi
# check for special build (all specs)
if [ ${1} == '--all' ]; then
list=$(ls ${SPECDIR}/*.spec | sed "s|${SPECDIR}/\(.*\).spec|\1|g")
else
list=${@}
fi
for arg in ${list}; do
# check directory for each pkg to build
if ! [ -d ${MOCKDIR}/${arg} ]; then
mkdir -p ${MOCKDIR}/${arg}
else
rm -f ${MOCKDIR}/${arg}/*
fi
# initiate the build
rpmbuildout=$(LC_ALL=C rpmbuild -bs ${SPECDIR}/${arg}.spec) || exit 1
$(LC_ALL=C mock -r ${FEDORAVER} --resultdir=${MOCKDIR}/${arg} ${rpmbuildout:7}) || exit 1
$(LC_ALL=C rpmlint ${MOCKDIR}/${arg}/*.rpm > ${MOCKDIR}/${arg}/rpmlint) || exit 1
done
Mann ist mir langweilig :-) Und dann auch noch 42 Zeilen! Ich glaube ich brauch mein Handtuch :-)
So long and thanks for all the fish :-)
שִׁמְעוֹן

