#!/bin/sh set -e if [ ! -x "$(which gbp 2> /dev/null)" ] then echo "gbp - command not found" >&2 exit 1 fi if [ ! -e debian/changelog ] then echo "E: debian/changelog - no such file" >&2 exit 1 fi MODE="$(basename ${0} | sed -e 's|^git-||' -e 's|-changelog$||')" WRAP_SCRIPT="/usr/share/doc/git-buildpackage/examples/wrap_cl.py" if [ -e "/usr/share/doc/git-buildpackage/examples/wrap_cl.py" ] then CUSTOMIZATION="--customization ${WRAP_SCRIPT}" fi ID="${1}" if [ -z "${ID}" ] then if [ -n "$(git log | grep -m1 'Adding version ')" ] then ID="$(git log | grep -B4 -m1 "Adding version " | awk '/^commit / { print $2 }')" fi if [ -z "${ID}" ] && [ -n "$(git log | grep -m1 'Releasing version ')" ] then ID="$(git log | grep -B4 -m1 "Releasing version " | awk '/^commit / { print $2 }')" fi if [ -z "${ID}" ] && [ -n "$(git log | grep -m1 "Releasing ${MODE} version ")" ] then ID="$(git log | grep -B4 -m1 "Releasing ${MODE} version " | awk '/^commit / { print $2 }')" fi if [ -z "${ID}" ] && [ -n "$(git log | grep -m1 "Adding ${MODE} version ")" ] then ID="$(git log | grep -B4 -m1 "Adding ${MODE} version " | awk '/^commit / { print $2 }')" fi else shift fi if [ -e debian/gbp.conf ] then TEMPFILE="$(mktemp -p . -u)" mv debian/gbp.conf "${TEMPFILE}" fi SOURCE="$(dpkg-parsechangelog -S Source)" URGENCY="$(dpkg-parsechangelog -S Urgency)" if grep -qs "git.*.progress-linux.org" .git/config && grep -qs maintainers@lists.progress-linux.org debian/control then DIST="$(git config --get remote.origin.url | awk -F/ '{ print $(NF-1) }')" DISTRIBUTION="--distribution=${DIST}" VERSION="$(dpkg-parsechangelog -S Version)" case "${VERSION}" in *progress*) VERSION="" ;; *) case "${DIST}" in engywuck) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}progress5u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0progress5u1" ;; esac ;; engywuck-backports) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}~progress5.99u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0.0~progress5.99u1" ;; esac ;; fuchur) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}progress6u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0progress6u1" ;; esac ;; fuchur-backports) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}~progress6.99u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0.0~progress6.99u1" ;; esac ;; graograman|graograman-security) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}progress7u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0progress7u1" ;; esac ;; graograman-backports) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}~progress7.99u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0.0~progress7.99u1" ;; esac ;; esac ;; esac fi if grep -qs "git.*.bfh.science" .git/config then DIST="$(git config --get remote.origin.url | awk -F/ '{ print $(NF-1) }')" DISTRIBUTION="--distribution=${DIST}" case "${VERSION}" in *bfh*) VERSION="" ;; *) case "${VERSION}" in *-*) # non-native VERSION="--dch-opt=-b -N ${VERSION}~bfh10.99u1" ;; *) # native VERSION="--dch-opt=-b -N ${VERSION}-0.0~bfh10.99u1" ;; esac ;; esac fi if [ -n "${ID}" ] then echo | gbp dch --spawn-editor=never ${DISTRIBUTION} ${VERSION} --urgency ${URGENCY} --git-log="--no-show-signature" --debian-branch $(git branch --show-current) --git-author --release --since ${ID} ${CUSTOMIZATION} ${@} else echo | gbp dch --spawn-editor=never ${DISTRIBUTION} ${VERSION} --urgency ${URGENCY} --git-log="--no-show-signature" --auto --debian-branch $(git branch --show-current) --git-author --release ${CUSTOMIZATION} ${@} fi if [ -n "${DIST}" ] then # derivatives if ! grep -qs "Initial upload to ${DIST}" debian/changelog || ! grep -qs "Initial reupload to ${DIST}" debian/changelog then sed -i -e "0,/^$/s//\n * Initial upload to ${DIST}./" debian/changelog else sed -i -e "0,/^$/s//\n * Uploading to ${DIST}, remaining changes:/" debian/changelog fi else # debian DIST="$(dpkg-parsechangelog -S Distribution)" sed -i -e "0,/^$/s//\n * Uploading to ${DIST}./" debian/changelog if git log ${ID}..HEAD | grep -qs 'Merging upstream version ' then VERSION_NEW="$(git log ${ID}..HEAD | awk '/Merging upstream version/ { print $4 }' | sed -e 's|.$||')" VERSION_OLD="$(dpkg-parsechangelog -S Version)" sed -i -e "s|^${SOURCE} (${VERSION_OLD}) ${DIST}; urgency=${URGENCY}|${SOURCE} (${VERSION_NEW}-1) ${DIST}; urgency=${URGENCY}|" debian/changelog fi fi if [ -e "${TEMPFILE}" ] then mv "${TEMPFILE}" debian/gbp.conf fi vi debian/changelog