checkpatch: check for OpenOCD tree, not for kernel tree
[fw/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).
 
 # 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=""
 ## 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)"
 
 ## 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"
 
 
 VERSION_SH="tools/release/version.sh"
 
@@ -35,7 +37,6 @@ Build Commands:
   build         Compiles the project; runs configure, if needed.
 
 Packaging 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.
 
   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; }
 
 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_package() {
-       do_changelog
        maybe_build
        echo "Building distribution packages..."
        make ${MAKE_OPTS} distcheck 2>&1 | perl tools/logger.pl > "release-pkg.log"
        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 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
                        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/
                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_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() {
        rm -v -f release-*.log
 }
 do_clean_all() {
@@ -135,8 +125,8 @@ do_clean_all() {
 
 do_version_commit() {
        [ "$*" ] || die "usage: $0 commit <message>"
 
 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() {
 }
 
 do_version_finalize() {
@@ -193,12 +183,13 @@ do_release_step_news() {
        git mv "NEWS" "NEWS-${RELEASE_VERSION}"
 
        cat >NEWS <<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:
 
 JTAG Layer:
+Boundary Scan:
 Target Layer:
 Flash Layer:
 Board, Target, and Interface Configuration Scripts:
 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,
 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
 
 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
 
 NEWS
        git add NEWS
 
@@ -238,13 +232,6 @@ do_release_step_rebranch() {
        git branch -d "${OLD_BRANCH}"
 }
 
        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}" ] || \
 do_release_setup() {
        echo "Starting $CMD for ${RELEASE_VERSION}..."
        [ "${RELEASE_TYPE}" ] || \
@@ -274,7 +261,7 @@ do_countdown() {
 do_branch() {
        do_release_setup
        local i=
 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
 }
                "do_release_step_${i}"
        done
 }
@@ -284,7 +271,7 @@ do_release() {
        do_release_setup
        do_release_check
        local i=
        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
 }
                "do_release_step_${i}"
        done
 }
@@ -294,7 +281,7 @@ do_reset() {
        maybe_bootstrap
        maybe_configure
        do_clean_all
        maybe_bootstrap
        maybe_configure
        do_clean_all
-       git checkout configure.in
+       git checkout configure.ac
 }
 
 LONGOPTS="fast,final,start-rc,next-tag:,next:,help"
 }
 
 LONGOPTS="fast,final,start-rc,next-tag:,next:,help"
@@ -358,9 +345,9 @@ CMD=$1
 [ "${CMD}" ] || usage
 shift
 
 [ "${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"
 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; }
 
 CMDS="|${ACTION_CMDS}|${CLEAN_CMDS}|${MISC_CMDS}|"
 is_command() { echo "${CMDS}" | grep "|$1|" >/dev/null; }