123456789101112131415161718192021222324252627282930313233343536 |
- #!/bin/bash
- set -euo pipefail
- IFS=$'\n\t'
- export FILE=$1
- export VERSION=$2
- export NAME=$3
- export MESSAGE=$4
- export DATE=$(date "+%a %b %d %Y")
- set +e
- grep --version | grep BSD &> /dev/null
- if [ $? == 0 ]; then BSDGREP=true ; else BSDGREP=false ; fi
- set -e
- # echo "#~~~~~~~~~~~~~~~~~~~~"
- # echo "$0 variables:"
- # echo "VERSION: ${VERSION}"
- # echo "NAME: ${NAME}"
- # echo "MESSAGE: ${MESSAGE}"
- # echo "DATE: ${DATE}"
- # echo "BSDGREP: ${BSDGREP}"
- # echo "#~~~~~~~~~~~~~~~~~~~~"
- # echo
- if $BSDGREP ; then
- sed -i '' s/^Version:.*/"Version: ${VERSION}"/ ${FILE}
- else
- sed -i s/^Version:.*/"Version: ${VERSION}"/ ${FILE}
- fi
- awk -v version=${VERSION} -v date=${DATE} -v name=${NAME} -v message=${MESSAGE} \
- 'FNR==NR{ if (/%changelog/) p=NR; next} 1; FNR==p{ print "* " date " " name " - " version "\n- " message "\n" }' \
- ${FILE} ${FILE} > ${FILE}.new
- mv ${FILE}.new ${FILE}
|