package Debian code Linux
если кому надо (тем кто делает это не под дебианом =) )
написал скрипт обновления дебиановского чейнджлога в пакете
#!/bin/bash
format_change() {
first=1
echo $@ | sed -e "s/.\{76\}/&\n/g" | while read -r change; do
[ $first = 1 ] && { echo " * $change"; first=0; } || echo " $change"
done
}
die() { echo "$@"; exit 1; }
namestr=`head -n 1 debian/changelog`
[ -z "$namestr" ] && die "failed to grep changelog"
prog=`echo $namestr | cut -d ' ' -f 1`
version=`echo $namestr | cut -d ' ' -f 2`
version=${version:1:-1}
updtail=`echo $namestr | cut -d ' ' -f 3-`
ver_major=`echo $version | cut -d '.' -f 1`
ver_middle=`echo $version | cut -d '.' -f 2`
ver_minor=`echo $version | cut -d '.' -f 3`
ver_bugfix=`echo $version | cut -d '.' -f 4`
[ -z "$ver_middle" ] && ver_middle=0
[ -z "$ver_minor" ] && ver_minor=0
[ -z "$ver_bugfix" ] && ver_bugfix=0
[ "$1" = "--bugfix" ] && { ver_bugfix=$((ver_bugfix+1)); shift; }
[ "$1" = "--minor" ] && { ver_minor=$((ver_minor+1)); ver_bugfix=0; shift; }
[ "$1" = "--middle" ] && { ver_middle=$((ver_middle+1)); ver_bugfix=0; ver_minor=0; shift; }
[ "$1" = "--major" ] && { ver_major=$((ver_major+1)); ver_bugfix=0; ver_minor=0; ver_middle=0; shift; }
version=`echo "$ver_major.$ver_middle.$ver_minor.$ver_bugfix" | sed 's/\(.0\)*$//'`
writer() {
echo "$prog ($version) $updtail"
echo
echo "$@" | while read -r change; do format_change "$change"; done
echo
echo " -- My Name <maillogin@domain> $(LANG=C date +"%a, %d %b %Y %X %z")"
echo
}
writer "$@" > debian/changelog.tmp || die "failed to write changelog"
cat debian/changelog >> debian/changelog.tmp || die "failed to write changelog"
vim debian/changelog.tmp
mv debian/changelog.tmp debian/changelog || die "failed to update changelog"
PS баш ибо лень тестить под другими шелами