| #!/bin/bash |
| # |
| |
| # Copyright (C) 2010,2013 Google 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 2 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, write to the Free Software |
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
| # 02110-1301, USA. |
| |
| set -e |
| |
| # Enable Bash-specific patterns |
| shopt -s extglob |
| |
| readonly version=$1 |
| readonly newsfile=$2 |
| readonly numpat='+([0-9])' |
| |
| case "$version" in |
| # Format "x.y.z" |
| $numpat.$numpat.$numpat) : ;; |
| |
| # Format "x.y.z~rcN" or "x.y.z~betaN" or "x.y.z~alphaN" for N > 0 |
| $numpat.$numpat.$numpat~@(rc|beta|alpha)[1-9]*([0-9])) : ;; |
| |
| *) |
| echo "Invalid version format: $version" >&2 |
| exit 1 |
| ;; |
| esac |
| |
| readonly newsver="Version ${version/\~/ }" |
| |
| # Only alpha versions are allowed not to have their own NEWS section yet |
| set +e |
| FOUND=x`echo $version | grep "alpha[1-9]*[0-9]$"` |
| set -e |
| if [ $FOUND == "x" ] |
| then |
| if ! grep -q -x "$newsver" $newsfile |
| then |
| echo "Unable to find heading '$newsver' in NEWS" >&2 |
| exit 1 |
| fi |
| fi |
| |
| exit 0 |