darkhttpd/release.sh

53 lines
928 B
Bash
Executable File

#!/bin/sh
#
# release.sh: script to roll a release tarball.
# copyright (c) 2006-2013 Emil Mikulic.
#
# This is for developer use only and lives in the git repo but
# shouldn't end up in a tarball.
#
if [ $# -ne 1 ]; then
echo "usage: $0 1.123" >&2
exit 1
fi
NAME=darkhttpd
VERSION="$1"
files="\
Makefile \
darkhttpd.c \
README \
"
say() {
echo ==\> "$@" >&2
}
run() {
say "$@"
"$@" || { say ERROR!; exit 1; }
}
PKG=$NAME-$VERSION
say releasing $PKG
devel/clang-warns
devel/warns
# TODO: checker, tests
if git status --porcelain | egrep -v '^\?\?' -q; then
say ERROR: uncommitted changes:
git status
exit 1
fi
run mkdir $PKG
run cp -r $files $PKG/.
sed -r -e \
'/pkgname\[\]\s+= "/s/"darkhttpd\/[^"]+"/"'$NAME'\/'$VERSION'"/' \
darkhttpd.c > $PKG/darkhttpd.c || { echo sed failed; exit 1; }
# package it up
run tar chof $PKG.tar $PKG
run bzip2 -9vv $PKG.tar
say output:
ls -l $PKG.tar.bz2
say FINISHED!