diff --git a/TODO-RELEASE b/TODO-RELEASE index 16496d68c..146ab3330 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1,6 +1,6 @@ # When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install -# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info -# In short: +# according to https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release +# In short: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info # LIBVERSION=c:r:a # If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. # If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. diff --git a/osmo-release.sh b/osmo-release.sh index 0e8502358..3b50ded86 100755 --- a/osmo-release.sh +++ b/osmo-release.sh @@ -11,7 +11,7 @@ BUMPVER=`command -v bumpversion` NEW_VER=`bumpversion --list --current-version $VERSION $REL --allow-dirty | awk -F '=' '{ print $2 }'` LIBVERS=`git grep -n LIBVERSION | grep '=' | grep am | grep -v LDFLAGS` -MAKEMOD=`git diff -GLIBVERSION --stat | grep Makefile.am` +MAKEMOD=`git diff --cached -GLIBVERSION --stat | grep Makefile.am` ISODATE=`date -I` if [ "z$BUMPVER" = "z" ]; then @@ -26,28 +26,22 @@ fi echo "Releasing $VERSION -> $NEW_VER..." -if [ "z$LIBVERS" = "z" ]; then - gbp dch --debian-tag='%(version)s' --auto --meta --git-author --multimaint-merge --ignore-branch --new-version="$NEW_VER" -else - echo "You should NOT be doing this unless you've read and understood following article:" - echo "https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info" - grep -v '#' TODO-RELEASE | sed 's/\t\+/: /g' > TODO-RELEASE.entries - if [ "$(wc -l /dev/null)" -eq "0" ]; then - rm TODO-RELEASE.entries - echo "TODO-RELEASE must contain at least one line with change descriptions" - exit 1 - fi - grep '#' TODO-RELEASE > TODO-RELEASE.clean - mv TODO-RELEASE.clean TODO-RELEASE +if [ "z$LIBVERS" != "z" ]; then if [ "z$MAKEMOD" = "z" ]; then echo "Before releasing, please modify some of the libversions: $LIBVERS" + echo "You should NOT be doing this unless you've read and understood following article:" + echo "https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info" exit 1 fi - xargs -a TODO-RELEASE.entries -r -d'\n' -I entry dch -m -v $NEW_VER "entry" - rm TODO-RELEASE.entries + if [ -f "TODO-RELEASE" ]; then + grep '#' TODO-RELEASE > TODO-RELEASE.clean + mv TODO-RELEASE.clean TODO-RELEASE + git add TODO-RELEASE + fi fi +gbp dch --debian-tag='%(version)s' --auto --meta --git-author --multimaint-merge --ignore-branch --new-version="$NEW_VER" dch -r -m --distribution "unstable" "" -git add -u +git add debian/changelog bumpversion --current-version $VERSION $REL --tag --commit --tag-name $NEW_VER --allow-dirty git tag -s $NEW_VER -f -m "Release v$NEW_VER on $ISODATE." echo "Release $NEW_VER prepared, tagged and signed."