#!/bin/sh
#
# Generate a changelog file for the signed fwupdate package, based on
# a changelog.in file and other state

DIR=$1
SOURCE=$2
ARCH=$3
IN="${DIR}/changelog.in"
OUT="${DIR}/changelog"

# Parse out fields from our changelg entry - want the signing-template
# one to match all the important details where we can
DISTRIBUTION="$(dpkg-parsechangelog | sed -ne 's/^Distribution: \(.*\)/\1/p')"
URGENCY="$(dpkg-parsechangelog | sed -ne 's/^Urgency: \(.*\)/\1/p')"
MAINT="$(dpkg-parsechangelog | sed -ne 's/^Maintainer: \(.*\)/\1/p')"
DATE="$(dpkg-parsechangelog | sed -ne 's/^Date: \(.*\)/\1/p')"

# If the version ends in "+bXXX", this is a binNMU. We don't want a new
# source package to look like that, so change it to ".bXXX" instead
VERSION="$(dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)/\1/p')"
MANGLED_VERSION="$(echo $VERSION | sed -r 's/-/\+/;s/\+(b[[:digit:]]+)$/.\1/')"

printf "%s-%s-signed (%s) %s; urgency=%s\n" "fwupd" "${ARCH}" "${MANGLED_VERSION}" "${DISTRIBUTION}" "${URGENCY}" > $OUT
printf "\n" >> $OUT
printf "  * Update to %s version %s\n" "${SOURCE}" "${VERSION}" >> $OUT
printf "\n" >> $OUT
printf " -- %s  %s\n" "${MAINT}" "${DATE}" >> $OUT
printf "\n" >> $OUT

cat $IN >> $OUT
rm -f $IN
