Commit Graph

10 Commits

Author SHA1 Message Date
Pau Espin 1a72bafa5d osmo-release.sh: Add checks to help avoid libversion debian major mismatch
Change-Id: Ie0f6a2f9d60908b36f90921bfba3fc31606e5027
2018-08-30 14:07:11 +02:00
Pau Espin cf8497cb2f osmo-release.sh: Allow forcing release without LIBVERSION bump
Sometimes a fix release may be required which only contains fixes to
parts not related to a shared library, for instance a fix in the build
system. Thus allow releasing without bumping LIBVERSION, but only
through env var setting for people who know what they are doing.

Change-Id: I91e186d47638038bc2968ea0178879365ffc9512
2018-08-30 14:01:29 +02:00
Pau Espin 941fd9be1b osmo-release.sh: Add quotes to string to fix shellcheck warning
Change-Id: I40376c99d44552d9b8023fca8d319a9312b0fbb0
2018-08-30 12:42:37 +02:00
Pau Espin bf81932dff osmo-release.sh: Allow user to add extra information to the release commit
Change-Id: Ie25d921dd27fb7653bd616cb2912330964108663
2018-05-03 15:25:38 +02:00
Pau Espin 01dd570de8 osmo-release.sh: Always generate entire commit changelog
Before this commit, for library projects (containing LIBVERSION in some
Makefile), the entire commit list was not stored into the changelog, but
only a few lines from TODO-RELEASE files.

This is a bad approach for several reasons. First, because that file was
only aimed at containing API/ABI breaks, and not the full relevant
changeset (like bugfixes, new features, etc.). Second, because it relies
on every developer making API/ABI changes to remember to store the
change in there during commit break time.

Let's instead always store the entire commit list in changelog, and
let's use TODO-RELEASE only as a list of hints for the maintainer to
help him evaluate how LIBVERSION needs to be bumped for each library.
Other tools such as osmo-abi-check.git can be used to help with the
process of decission too.

Let's take the opportunity too to only commit stuff already added to the
staging area, as it proved easier to manage from my personal experinece
making latest releases.

Change-Id: Ibf662173ce2b4ff3966e9ad5f56c65dfb13607ff
2018-05-03 15:21:24 +02:00
Pau Espin 0b0f908859 osmo-release.sh: Fix error condition no LIBVERSION modified
It turns out git status doesn't return an error code in any of the
modified/unmodified cases. It's not clear anyway why we check
TODO-RELEASE when we actually care about the file containing the
LIBVERSION (non-)change.

Change-Id: I2320d6ee29cd528e55c0609be1af350655123b85
2018-05-02 21:30:30 +00:00
Pau Espin dcbb24b8c8 osmo-release.sh: Exit with error if no description for new changelog entry provided
If no line is provided, then the xargs line doesn't call dch (due to -r
param) and as a result no new version entry is created in the log, and
the old one is updated.

Change-Id: I17894f669e6d3d6d31203a4522dce7fa01da323f
2018-05-02 21:30:30 +00:00
Pau Espin 42174d18d1 osmo-release.sh: Remove temporary file TODO-RELEASE.entries after use
Change-Id: I1cac39093d43910c2f5b969f5287cf3678110f4e
2018-05-02 21:30:29 +00:00
Pau Espin 075299db7c osmo-release.sh: Set correct version when generating the changelog
Otherwise, while updating osmo-trx 0.2.0->0.3.0, the version printed in
the changelog by gbp dch is 0.2.1

Change-Id: I744adb23b4602e5e47f80a012286578d1e59de88
2018-03-05 16:52:43 +01:00
Harald Welte ee497f245e Fixup severe build performance issues
Make variable substitution calling bumpversion and other commands
introduce by osmo-release.mk has severely slowed down builds.

Inside the makefile we could use $(eval FOO:=$(shell...)) constructs
to have variable substitution only happen once the 'release' target
is executed. However, 'ifeq' and friends don't work with such late
constructs. Let's shift all release action into a helper shell script
that is called from the Makefile instead.

This way we get the best of both worlds: No performance impact during
normal builds, and the convenience of 'make release'.

Modified-by: Max <msuraev@sysmocom.de>

Related: OS#2524

Change-Id: I98b3b5fe3db39953cea969a9dfbb75889df2e1ea
2017-10-04 16:26:37 +02:00