Review at  https://gerrit.osmocom.org/3130

Add release target to Makefile

Add simple helper target to automate following release steps:
* cleanup TODO-RELEASE
* update debian/changelog
* git commit and tag
* git tag sign

Note: it requires bumpversion package to be installed.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
1 file changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/1

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..bfd409a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,24 @@
 
 EXTRA_DIST = git-version-gen .version README.md
 
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+
+release:
+       @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+       @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' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+       @dch -r -m --distribution "unstable" ""
+       @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+       @mv TODO-RELEASE.clean TODO-RELEASE
+       @git add -u
+       @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+       @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+       @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."
+       @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+       @echo "Are you sure the following versions are correct?"
+       @git grep -n LIBVERSION | grep  '=' | grep am | grep -v LDFLAGS
+
 if HAVE_DOXYGEN
 
 html_DATA = $(top_builddir)/doc/html.tar

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max <[email protected]>

Reply via email to