X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=tools%2Frelease.sh;h=abd721a176aa562d4e5bd3639fdd5dd54423bdcb;hp=26be151183d6902a37145f87adf841eb49616690;hb=8b3f0f3f69a393151252d7f2211c9a15ae6cb456;hpb=e8dc384be9d4bf2b7ed61178c02154dffdb15a9e diff --git a/tools/release.sh b/tools/release.sh index 26be151183..abd721a176 100755 --- a/tools/release.sh +++ b/tools/release.sh @@ -1,8 +1,10 @@ -#!/bin/sh -e +#!/bin/bash # release.sh: openocd release process automation # Copyright (C) 2009 by Zachary T Welch # Release under the GNU GPL v2 (or later versions). +# FIXME Remove more bash-isms. Fix errors making "ash -e" lose. + ## set these to control the build process #CONFIG_OPTS="" #MAKE_OPTS="" @@ -13,7 +15,7 @@ ## The default is the current user name, as found by the 'id' command. #RELEASE_TAG="$(id -un)" -source "tools/release/helpers.sh" +. "tools/release/helpers.sh" VERSION_SH="tools/release/version.sh" @@ -35,7 +37,6 @@ Build Commands: build Compiles the project; runs configure, if needed. Packaging Commands: - changelog Generate a new ChangeLog using ${SCM}2cl. package Produce new distributable source archives. stage Move archives to staging area for upload. @@ -81,17 +82,8 @@ do_build() { maybe_build() { [ -f "src/openocd" ] || do_build; } do_build_clean() { [ -f Makefile ] && make maintainer-clean >/dev/null; } -do_changelog() { - echo "Creating ChangeLog..." - local CMD=tools/git2cl/git2cl - eval ${CMD} ${OPTS} > ChangeLog -} -do_changelog_clean() { - git checkout ChangeLog -} do_package() { - do_changelog maybe_build echo "Building distribution packages..." make ${MAKE_OPTS} distcheck 2>&1 | perl tools/logger.pl > "release-pkg.log" @@ -118,14 +110,12 @@ do_stage() { mv -v "${FILE}" archives/ done cp -a NEWS archives/ - cp -a ChangeLog archives/ } do_stage_clean() { rm -v -f -r archives; } do_clean() { do_build_clean do_package_clean - do_changelog_clean rm -v -f release-*.log } do_clean_all() { @@ -135,8 +125,8 @@ do_clean_all() { do_version_commit() { [ "$*" ] || die "usage: $0 commit " - git add configure.in || die "error: no version changes to commit" - git commit -q -m "$*" configure.in + git add configure.ac || die "error: no version changes to commit" + git commit -q -m "$*" configure.ac } do_version_finalize() { @@ -193,12 +183,13 @@ do_release_step_news() { git mv "NEWS" "NEWS-${RELEASE_VERSION}" cat >NEWS <). +see the git repository history. With gitweb, you can browse that +in various levels of detail. + +For older NEWS, see the NEWS files associated with each release +(i.e. NEWS-). For more information about contributing test reports, bug fixes, or new features and device support, please read the new Developer Manual (or -the BUGS and PATCHES files in the source archive). +the BUGS and PATCHES.txt files in the source archive). NEWS git add NEWS @@ -238,13 +232,6 @@ do_release_step_rebranch() { git branch -d "${OLD_BRANCH}" } -do_release_step_0() { do_release_step_branch; } -do_release_step_1() { do_release_step_tag; } -do_release_step_2() { do_release_step_bump; } -do_release_step_3() { do_release_step_news; } -do_release_step_4() { do_release_step_package; } -do_release_step_5() { do_release_step_rebranch; } - do_release_setup() { echo "Starting $CMD for ${RELEASE_VERSION}..." [ "${RELEASE_TYPE}" ] || \ @@ -274,7 +261,7 @@ do_countdown() { do_branch() { do_release_setup local i= - for i in 0 2 5; do + for i in branch bump rebranch; do "do_release_step_${i}" done } @@ -284,7 +271,7 @@ do_release() { do_release_setup do_release_check local i= - for i in $(seq 0 5); do + for i in branch tag bump news package rebranch; do "do_release_step_${i}" done } @@ -294,7 +281,7 @@ do_reset() { maybe_bootstrap maybe_configure do_clean_all - git checkout configure.in + git checkout configure.ac } LONGOPTS="fast,final,start-rc,next-tag:,next:,help" @@ -358,9 +345,9 @@ CMD=$1 [ "${CMD}" ] || usage shift -ACTION_CMDS="bootstrap|configure|build|changelog|package|stage|clean" +ACTION_CMDS="bootstrap|configure|build|package|stage|clean" MISC_CMDS="all|info|release|branch|reset|help|usage" -CLEAN_CMDS="build_clean|changelog_clean|package_clean|stage_clean|clean_all" +CLEAN_CMDS="build_clean|package_clean|stage_clean|clean_all" CMDS="|${ACTION_CMDS}|${CLEAN_CMDS}|${MISC_CMDS}|" is_command() { echo "${CMDS}" | grep "|$1|" >/dev/null; }