Hello Jenkins Builder, I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/3130 to look at the new patch set (#2). 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, debian/control is adjusted accordingly. The helper itself is installed to facilitate reuse by other libraries. 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 M configure.ac M debian/control M debian/libosmocore-dev.install A osmo-release.mk 5 files changed, 33 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/2 diff --git a/Makefile.am b/Makefile.am index b8de3ca..3a71e3a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,7 +13,9 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = git-version-gen .version README.md +EXTRA_DIST = git-version-gen .version README.md osmo-release.mk + +@RELMAKE@ if HAVE_DOXYGEN diff --git a/configure.ac b/configure.ac index 92544b6..97f2490 100644 --- a/configure.ac +++ b/configure.ac @@ -11,6 +11,10 @@ dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +dnl include release helper +RELMAKE='include osmo-release.mk' +AC_SUBST([RELMAKE]) + dnl checks for programs AC_PROG_MAKE_SET AC_PROG_MKDIR_P diff --git a/debian/control b/debian/control index b19448e..e266173 100644 --- a/debian/control +++ b/debian/control @@ -281,6 +281,7 @@ Multi-Arch: same Section: libdevel Depends: libosmocore, + bumpversion, libtalloc-dev, ${misc:Depends} Description: Development headers for Open Source MObile COMmunications CORE library diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install index 465f933..96094f6 100644 --- a/debian/libosmocore-dev.install +++ b/debian/libosmocore-dev.install @@ -3,3 +3,4 @@ usr/lib/*/lib*.so usr/lib/*/lib*.la usr/lib/*/pkgconfig/* +osmo-release.mk usr/include diff --git a/osmo-release.mk b/osmo-release.mk new file mode 100644 index 0000000..69c8102 --- /dev/null +++ b/osmo-release.mk @@ -0,0 +1,24 @@ +ifdef REL +NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) --allow-dirty | awk -F '=' '{ print $$2 }') +LIBVERS := $(shell git grep -n LIBVERSION | grep '=' | grep am | grep -v LDFLAGS) +endif + +release: +ifeq ($(LIBVERS),) + @echo "Releasing non-library projects is not yet supported" +else + @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?" + @echo $(LIBVERS) +endif -- To view, visit https://gerrit.osmocom.org/3130 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Max <msur...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder