git2release
· 2.8 KiB · Text
Raw
#!/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
| 1 | #!/bin/bash |
| 2 | #TMPDIR=/tmp/ |
| 3 | # creating temp dir |
| 4 | TMPDIR=`mktemp -d` |
| 5 | trap "rm -rf $TMPDIR" EXIT |
| 6 | # defining some values |
| 7 | DIR=$(pwd) |
| 8 | # git clone git://git.debian.org/git/pkg-nagios/pkg-nagios-plugins.git /tmp/monitoring-plugins.git |
| 9 | |
| 10 | case "$1" in |
| 11 | --release-tarball) |
| 12 | URL=${2} |
| 13 | UTARBALL=$(basename ${URL}) |
| 14 | PROJECT=$(basename ${UTARBALL} .tar.gz) |
| 15 | REPACKURL="https://raw.github.com/waja/pkg-nagios-plugins/master/debian/bin/repack.sh" |
| 16 | |
| 17 | # grab tarball |
| 18 | wget ${URL} -O ${TMPDIR}/${UTARBALL} |
| 19 | # create a dir where we extract |
| 20 | mkdir -p ${TMPDIR}/${PROJECT} |
| 21 | # extract the tarball |
| 22 | tar -xzf ${TMPDIR}/${UTARBALL} -C ${TMPDIR}/${PROJECT} |
| 23 | EXTRACTDIR=$(ls -d ${TMPDIR}/${PROJECT}/*) |
| 24 | # move all one directory level higher |
| 25 | mv ${EXTRACTDIR}/* ${EXTRACTDIR}/.. && rm ${EXTRACTDIR}/.git* && rmdir ${EXTRACTDIR} |
| 26 | # install needed packages |
| 27 | 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 |
| 28 | sudo apt-get build-dep -y -qq --no-install-recommends nagios-plugins |
| 29 | sudo apt-get install -y -qq --no-install-recommends autoconf automake |
| 30 | # create release tarball |
| 31 | cd ${TMPDIR}/${PROJECT} |
| 32 | tools/setup && ./configure && make dist |
| 33 | RELEASETAR=$(ls ${TMPDIR}/${PROJECT}/*.tar.gz) |
| 34 | # download debian repack script |
| 35 | REPACK=$(basename ${REPACKURL}) |
| 36 | wget ${REPACKURL} -O ${TMPDIR}/${REPACK} |
| 37 | # repack everything |
| 38 | chmod +x ${TMPDIR}/${REPACK} |
| 39 | ${TMPDIR}/${REPACK} ${RELEASETAR} |
| 40 | # copy everything in here |
| 41 | cp $(ls ${TMPDIR}/${PROJECT}/*.tar.gz) ${DIR} |
| 42 | ;; |
| 43 | --prepare-debian) |
| 44 | UTARBALL=${2} |
| 45 | PROJECT=$(basename $(tar tfz "${UTARBALL}" | head -1)) |
| 46 | if [ -d "${PROJECT}" ] ; then |
| 47 | echo -n remove "${PROJECT}"? ${RTURN} |
| 48 | read RTURN |
| 49 | if [ "$RTURN" == "Y" ] || [ "$RTURN" == "y" ] ; then |
| 50 | rm -rf "${PROJECT}" |
| 51 | fi |
| 52 | fi |
| 53 | #DEBIANGITURL="git@github.com:waja/pkg-nagios-plugins.git" |
| 54 | DEBIANGITURL="https://github.com/waja/pkg-nagios-plugins.git -b m-p" |
| 55 | # extract the tarball |
| 56 | tar -xzf "${UTARBALL}" |
| 57 | # fetch latest debian packaging |
| 58 | git clone ${DEBIANGITURL} "${TMPDIR}" |
| 59 | # copy over the whole debian packaging |
| 60 | cp -a "${TMPDIR}"/debian "${PROJECT}" |
| 61 | # create a symlink to match debian conventions |
| 62 | # FIXME - the last part of this needs to be approved |
| 63 | ORIGTAR=$(echo "${UTARBALL}"|sed 's/\.tar\.gz/.orig.tar.gz/'|sed 's/plugins-/plugins_/') |
| 64 | UTARBALL=$(basename ${UTARBALL}) |
| 65 | [ -L "${ORIGTAR}" ] || ln -s "${UTARBALL}" "${ORIGTAR}" |
| 66 | if [ ! "$(echo ${DEBIAN_FRONTEND} | grep noninteractive | wc -l)" -gt "0" ]; then |
| 67 | # fetch build-deps |
| 68 | sudo apt-get build-dep nagios-plugins |
| 69 | # add changelog entry and start to build the package |
| 70 | cd "${PROJECT}" && dch -R && debuild -sa |
| 71 | fi |
| 72 | ;; |
| 73 | *) |
| 74 | echo "Usage: ${0} [--release-tarball|--prepare-debian]" >&2 |
| 75 | exit 3 |
| 76 | ;; |
| 77 | esac |