Last active 6 months ago

git2release Raw
1#!/bin/bash
2#TMPDIR=/tmp/
3# creating temp dir
4TMPDIR=`mktemp -d`
5trap "rm -rf $TMPDIR" EXIT
6# defining some values
7DIR=$(pwd)
8# git clone git://git.debian.org/git/pkg-nagios/pkg-nagios-plugins.git /tmp/monitoring-plugins.git
9
10case "$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 ;;
77esac