]> git.sur5r.net Git - openocd/blobdiff - tools/release.sh
arm_adi_v5: do not deactivate power domains while trying to clear sticky error
[openocd] / tools / release.sh
index 26be151183d6902a37145f87adf841eb49616690..ac8af646e86562d6942c6731582c48238c7b4fe6 100755 (executable)
@@ -1,8 +1,10 @@
-#!/bin/sh -e
+#!/bin/bash
 # release.sh: openocd release process automation
 # Copyright (C) 2009 by Zachary T Welch <zw@superlucidity.net>
 # 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"
@@ -110,7 +102,7 @@ do_stage() {
        for EXT in tar.gz tar.bz2 zip; do
                local FILE="${PACKAGE_RELEASE}.${EXT}"
                # create archive signatures
-               for HASH in md5 sha1; do
+               for HASH in sha256; do
                        echo "sign: ${FILE}.${HASH}"
                        ${HASH}sum "${FILE}" > "archives/${FILE}.${HASH}"
                done
@@ -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 <message>"
-       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 <<NEWS
-This file should include items worth mentioning in the
-OpenOCD ${NEXT_RELEASE_VERSION} source archive release.
-
-The following areas of OpenOCD functionality changed in this release:
+This file includes highlights of the changes made in the
+OpenOCD ${NEXT_RELEASE_VERSION} source archive release.  See the
+repository history for details about what changed, including
+bugfixes and other issues not mentioned here.
 
 JTAG Layer:
+Boundary Scan:
 Target Layer:
 Flash Layer:
 Board, Target, and Interface Configuration Scripts:
@@ -206,12 +197,15 @@ Documentation:
 Build and Release:
 
 For more details about what has changed since the last release,
-see the ChangeLog associated with this source archive.  For older NEWS,
-see the NEWS files associated with each release (i.e. NEWS-<version>).
+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-<version>).
 
 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; }