aboutsummaryrefslogtreecommitdiffstats
path: root/nsh-plugin/packaging/scripts/generate-deb-changelog
blob: f3dc2456be179979d1a4572e947aef562c16acff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
SCRIPTDIR=$(dirname $0)
CHANGELOG=${SCRIPTDIR}/../deb/debian/changelog
DIST=unstable
FIRST=1

print_changelog_item() {
    DATE=$(git log -1 --format=%cD ${TAG})
    DEBFULLNAME=$(git log -1 --format=%an ${TAG})
    DEBEMAIL=$(git log -1 --format=%ae ${TAG})

    if [ ${FIRST} = 0 ]; then echo >> ${CHANGELOG}; fi
    FIRST=0

    echo "vpp-nsh-plugin (${VER}) ${DIST}; urgency=low" >> ${CHANGELOG}
    echo >> ${CHANGELOG}
    echo "${DESC}" >> ${CHANGELOG}
    echo >> ${CHANGELOG}
    echo " -- ${DEBFULLNAME} <${DEBEMAIL}>  ${DATE}" >> ${CHANGELOG}
}

VER=$(${SCRIPTDIR}/version)
TAG=HEAD
ADDS=$(echo ${VER} | sed -e 's/~.*//'| cut -s -d- -f2)

rm -f ${CHANGELOG}

if [ -n "${ADDS}" ]; then
    DESC="  * includes ${ADDS} commits after $(echo ${VER}| cut -d- -f1) release"
    print_changelog_item
fi

for TAG in $(git tag -l 'v[0-9][0-9].[0-9][0-9]' | sort -r ); do
    VER=$(echo ${TAG}| sed -e 's/^v//')
    DESC=$(git tag -l -n20 ${TAG} | tail -n+2 | sed -e 's/^ */  /')
    print_changelog_item
done