From 5d1bdd1fd319f915bce7de29b1d149dae068f01d Mon Sep 17 00:00:00 2001 From: Emil Mikulic Date: Mon, 29 Apr 2013 01:06:31 +1000 Subject: [PATCH] [ darkhttpd-1.9 release ] Add release script. --- REL-ENG | 1 - darkhttpd.c | 2 +- release.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) delete mode 100644 REL-ENG create mode 100755 release.sh diff --git a/REL-ENG b/REL-ENG deleted file mode 100644 index cd79538..0000000 --- a/REL-ENG +++ /dev/null @@ -1 +0,0 @@ -Before rolling out a new version, make sure you update pkgname in the C file. diff --git a/darkhttpd.c b/darkhttpd.c index 08c6963..e1b0407 100644 --- a/darkhttpd.c +++ b/darkhttpd.c @@ -18,7 +18,7 @@ */ static const char - pkgname[] = "darkhttpd/1.8", + pkgname[] = "darkhttpd/1.9.from.git", copyright[] = "copyright (c) 2003-2013 Emil Mikulic"; #ifndef DEBUG diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..417c99a --- /dev/null +++ b/release.sh @@ -0,0 +1,52 @@ +#!/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!