diff options
-rw-r--r-- | bootstrap.conf | 1 | ||||
-rwxr-xr-x | build-aux/do-release-commit-and-tag | 138 | ||||
m--------- | gnulib | 0 |
3 files changed, 1 insertions, 138 deletions
diff --git a/bootstrap.conf b/bootstrap.conf index b3a82e0ce..be8d96189 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -71,6 +71,7 @@ gnulib_modules=" diacrit dirfd dirname + do-release-commit-and-tag dup2 environ error diff --git a/build-aux/do-release-commit-and-tag b/build-aux/do-release-commit-and-tag deleted file mode 100755 index 8b9ad663c..000000000 --- a/build-aux/do-release-commit-and-tag +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/sh -# In a git/autoconf/automake-enabled project with a NEWS file and a version- -# controlled .prev-version file, automate the procedure by which we record -# the date, release-type and version string in the NEWS file. That commit -# will serve to identify the release, so apply a signed tag to it as well. -VERSION=2009-10-31.09 # UTC - -# Note: this is a bash script (could be zsh or dash) - -# Copyright (C) 2009 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Written by Jim Meyering - -ME=`basename "$0"` -warn() { printf '%s: %s\n' "$ME" "$*" >&2; } -die() { warn "$*"; exit 1; } - -help_version() -{ - case $1 in - --help) cat <<EOF -Usage: $ME VERSION RELEASE_TYPE - -Run this script to perform the final pre-release NEWS update -in which the date, release-type and version string are recorded. -Commit that result with a log entry marking the release, and apply -a signed tag. Run it from your project's the top-level directory. - -Requirements: -- you use git for version-control -- a NEWS file, with line 3 identical to this: -* Noteworthy changes in release ?.? (????-??-??) [?] -- a version-controlled .prev-version file - -Options: - --help print this help, then exit - --version print version number, then exit - -EXAMPLE: -To update NEWS and tag the beta 8.1 release of coreutils, I would run this: - - $ME 8.1 beta - -Report bugs and patches to <bug-gnulib@gnu.org>. -EOF - exit ;; - - --version) - year=`echo "$VERSION" | sed 's/[^0-9].*//'` - cat <<EOF -$ME $VERSION -Copyright (C) $year Free Software Foundation, Inc, -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit ;; - - *) die "unrecognized option: $1";; - esac -} - -case $# in - 1) help_version $1; exit 0;; - 2) ;; - *) warn "Usage: $ME VERSION TYPE"; exit 1;; -esac - -ver=$1 -type=$2 - -# Verify that $ver looks like a version number, and... -echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \ - || die "invalid version: $ver" -prev_ver=$(cat .prev-version) \ - || die 'failed to determine previous version number from .prev-version' - -# Verify that $ver is sensible (> .prev-version). -case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in - "$prev_ver:$ver:") ;; - *) die "invalid version: $ver";; -esac - -case $type in - alpha|beta|stable) ;; - *) die "invalid release type: $type";; -esac - -# Extract package name from Makefile. -pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) \ - || die 'failed to determine package name from Makefile' - -# simple check: no question marks on line 3 of NEWS -noteworthy='* Noteworthy changes in release' -test "$(sed -n 3p NEWS)" = "$noteworthy ?.? (????-??-??) [?]" \ - || die 'line 3 of NEWS looks fishy!' - -# No dirt allowed. -case $(git diff-index --name-only HEAD) in - '') ;; - *) die 'this tree is dirty; commit your changes first';; -esac - -# update NEWS to have today's date, plus desired version number and $type -perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \ - -e 'my ($type, $ver) = qw('"$type $ver"');' \ - -e 'my $pfx = "'"$noteworthy"'";' \ - -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \ - NEWS || die 'failed to update NEWS' - -# Ensure the current branch name is "master": -curr_br=$(git rev-parse --symbolic-full-name HEAD) -test "$curr_br" = refs/heads/master || die not on master - -printf "version $ver\n\n* NEWS: Record release date.\n" \ - | git commit -F - -a || die 'git commit failed' -git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed' - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "VERSION=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: " # UTC" -# End: diff --git a/gnulib b/gnulib -Subproject 757089b71ada13e18169e2be3509c1b07bd1c63 +Subproject 8c57bd68b7f28db2b7b7998b157b8dbb9e7e82a |