Last active
August 29, 2015 13:56
-
-
Save waja/9142217 to your computer and use it in GitHub Desktop.
This script could be used to prepare a tarball from monitoring-plugins upstream git
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#TMPDIR=/tmp/ | |
# creating temp dir | |
TMPDIR=`mktemp -d` | |
trap "rm -rf $TMPDIR" EXIT | |
# defining some values | |
DIR=$(pwd) | |
# git clone git://git.debian.org/git/pkg-nagios/pkg-nagios-plugins.git /tmp/monitoring-plugins.git | |
case "$1" in | |
--release-tarball) | |
URL=${2} | |
UTARBALL=$(basename ${URL}) | |
PROJECT=$(basename ${UTARBALL} .tar.gz) | |
REPACKURL="https://raw.github.com/waja/pkg-nagios-plugins/master/debian/bin/repack.sh" | |
# grab tarball | |
wget ${URL} -O ${TMPDIR}/${UTARBALL} | |
# create a dir where we extract | |
mkdir -p ${TMPDIR}/${PROJECT} | |
# extract the tarball | |
tar -xzf ${TMPDIR}/${UTARBALL} -C ${TMPDIR}/${PROJECT} | |
EXTRACTDIR=$(ls -d ${TMPDIR}/${PROJECT}/*) | |
# move all one directory level higher | |
mv ${EXTRACTDIR}/* ${EXTRACTDIR}/.. && rm ${EXTRACTDIR}/.git* && rmdir ${EXTRACTDIR} | |
# install needed packages | |
if [ ! $(apt-cache showsrc nagios-plugins | grep "^Package: nagios-plugins" | wc -l) -gt "0" ]; then sudo echo "deb-src ftp://ftp.de.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list && sudo apt-get update; fi | |
sudo apt-get build-dep -y -qq --no-install-recommends nagios-plugins | |
sudo apt-get install -y -qq --no-install-recommends autoconf automake | |
# create release tarball | |
cd ${TMPDIR}/${PROJECT} | |
tools/setup && ./configure && make dist | |
RELEASETAR=$(ls ${TMPDIR}/${PROJECT}/*.tar.gz) | |
# download debian repack script | |
REPACK=$(basename ${REPACKURL}) | |
wget ${REPACKURL} -O ${TMPDIR}/${REPACK} | |
# repack everything | |
chmod +x ${TMPDIR}/${REPACK} | |
${TMPDIR}/${REPACK} ${RELEASETAR} | |
# copy everything in here | |
cp $(ls ${TMPDIR}/${PROJECT}/*.tar.gz) ${DIR} | |
;; | |
--prepare-debian) | |
UTARBALL=${2} | |
PROJECT=$(basename $(tar tfz "${UTARBALL}" | head -1)) | |
if [ -d "${PROJECT}" ] ; then | |
echo -n remove "${PROJECT}"? ${RTURN} | |
read RTURN | |
if [ "$RTURN" == "Y" ] || [ "$RTURN" == "y" ] ; then | |
rm -rf "${PROJECT}" | |
fi | |
fi | |
#DEBIANGITURL="git@github.com:waja/pkg-nagios-plugins.git" | |
DEBIANGITURL="https://github.com/waja/pkg-nagios-plugins.git -b m-p" | |
# extract the tarball | |
tar -xzf "${UTARBALL}" | |
# fetch latest debian packaging | |
git clone ${DEBIANGITURL} "${TMPDIR}" | |
# copy over the whole debian packaging | |
cp -a "${TMPDIR}"/debian "${PROJECT}" | |
# create a symlink to match debian conventions | |
# FIXME - the last part of this needs to be approved | |
ORIGTAR=$(echo "${UTARBALL}"|sed 's/\.tar\.gz/.orig.tar.gz/'|sed 's/plugins-/plugins_/') | |
UTARBALL=$(basename ${UTARBALL}) | |
[ -L "${ORIGTAR}" ] || ln -s "${UTARBALL}" "${ORIGTAR}" | |
if [ ! "$(echo ${DEBIAN_FRONTEND} | grep noninteractive | wc -l)" -gt "0" ]; then | |
# fetch build-deps | |
sudo apt-get build-dep nagios-plugins | |
# add changelog entry and start to build the package | |
cd "${PROJECT}" && dch -R && debuild -sa | |
fi | |
;; | |
*) | |
echo "Usage: ${0} [--release-tarball|--prepare-debian]" >&2 | |
exit 3 | |
;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment