#!/bin/bash # $HeadURL$ $LastChangedRevision$ # Modules . $(bs-config bs_share_prefix)/include/bssupport.sh || { echo "${0##*/}: INTERNAL ERROR: failed to load bssupport.sh" >&2; exit 3; } . $(miniade) || { echo "${0##*/}: ERROR: miniade failed (hint: run 'miniade' to see error)" >&2; exit 1; } # Configurable stuff # Other globals main() { local MY_ARGS local PROGRAM VERBOSELEVEL PROGNAME # Defaults for options # Process options miniade_process_options --help-handler=usage MY_ARGS "$@" && set -- "${MY_ARGS[@]}" # Process arguments # Sanity checks and derivations # bs sets PROGRAM, but passes it to us through environment as BS_PROGRAM, copy it back. PROGRAM=$BS_PROGRAM VERBOSELEVEL=$BS_VERBOSELEVEL SOURCES_SVNREPO_URL=$BS_SOURCES_SVNREPO_URL SOURCES_SVNWC_DIR=$BS_SOURCES_SVNWC_DIR bssupport_checkset VERBOSELEVEL PROGRAM SOURCES_SVNREPO_URL SOURCES_SVNWC_DIR miniade_get_progname PROGNAME miniade_set_verboselevel $VERBOSELEVEL bssupport_changestate --id=$PROGRAM --from=unreleased --to=released --step=$PROGNAME bssupport_sandbox # Guts miniade_info "re-testing sources ..." RC=0; SANDBOX= $BSSUPPORT_STEP_TEST_SOURCES_CMD || RC=$? [ $RC = 0 ] || miniade_error "test-sources failed (hint: see messages above)" miniade_info "determining tag to create ..." svn co --quiet $SOURCES_SVNREPO_URL/trunk $PROGRAM bssupport_get_unreleased_sources_version $PROGRAM/doc/ChangeLog VERSION miniade_debug 10 "VERSION=$VERSION" miniade_info "checking tag doesn't exist already ..." if svn ls $SOURCES_SVNREPO_URL/tags/$VERSION > /dev/null 2>&1; then miniade_error "tag $VERSION exists already (hint: see 'svn ls $SOURCES_SVNREPO_URL/tags/')" fi miniade_info "finalising ChangeLog ..." adech --debug=$VERBOSELEVEL --finalise $PROGRAM/doc/ChangeLog svn commit --quiet -m " * $PROGRAM: finalised ChangeLog timestamp for $VERSION release" $PROGRAM miniade_info "working copy was just made out-of-date; updating ..." svn up --quiet $SOURCES_SVNWC_DIR miniade_info "tagging ..." svn cp --quiet -m " * $PROGRAM: tagged current trunk as $VERSION" $SOURCES_SVNREPO_URL/trunk $SOURCES_SVNREPO_URL/tags/$VERSION } main "$@"