summaryrefslogtreecommitdiffstats
path: root/osmo-release.sh
Commit message (Collapse)AuthorAgeFilesLines
* osmo-release.sh: update TODO-RELEASE for non-lib projects tooPau Espin Pedrol2019-09-201-5/+7
| | | | | | | | | | | | | | | | Projects not containing libraries may also want to contain a TODO-RELEASE in order to write down when a new API available only on libosmoXYZ current master (hence configure.ac and debian cannot be updated during the patch using the API until the APIs are available in a new release). This way, during release process of the project, the maintainer can see that a release of libosmoXYZ is needed beforehand and then update configure.ac of project accordingly with the new version of libosmoXYZ. Furthermore, we want to update the file only if mode DRY_RUN is not selected. Change-Id: I409b7eb8c23d21473f25dd2000f5d4447b24adb9
* osmo-release.sh: Support releasing openbsc.gitPau Espin Pedrol2019-08-081-2/+7
| | | | | | | openbsc's directory structure is a bit different (has most stuff inside an extra subdir). Let's account for that. Change-Id: I407cf47d8339d99c74a976460ea84fffe679dfd8
* osmo-release.sh: Check patches under debian/patches applyPau Espin Pedrol2019-08-081-0/+17
| | | | Change-Id: I614080361f3cc5bfb89994a8e8e36981529cd439
* osmo-release.sh: Verify consistency of dependency versions in configure.ac ↵Pau Espin Pedrol2019-08-081-0/+42
| | | | | | | | | | | | | | | | | | | and debian/control Sample output for current osmo-msc master: Releasing 1.3.1.191-7ea0d -> 1.4.0... ERROR: configure.ac <libosmocore, 1.0.0> does NOT match debian/control <libosmocore, 0.10.0>! ERROR: configure.ac <libosmo-netif, 0.4.0> does NOT match debian/control <libosmo-netif, 0.1.0>! ERROR: configure.ac <libosmo-sigtran, 1.0.0> does NOT match debian/control <libosmo-sigtran, 0.8.0>! ERROR: configure.ac <libosmo-mgcp-client, 1.5.0> does NOT match debian/control <libosmo-mgcp-client, 1.1.0>! ERROR: configure.ac <libosmo-gsup-client, 1.0.0> does NOT match debian/control <libosmo-gsup-client, 0.2.1>! ERROR: configure.ac <libsmpp34, 1.13.0> does NOT match debian/control <libsmpp34, 1.12>! ERROR: configure.ac <libasn1c, 0.9.30> does NOT match debian/control <libasn1c, 0.9.28>! ERROR: configure.ac <libosmo-ranap, 0.3.0> does NOT match debian/control <libosmo-ranap, 0.2.0>! ERROR: exiting due to previous errors make: *** [osmo-release.mk:9: release] Error 1 Change-Id: I702a82c1b0e21dbe71a334a6f8bc62efe07859a6
* osmo-release.sh: Verify debian/rules dh_strip lines match LIBVERSIONPau Espin Pedrol2019-08-071-0/+14
| | | | Change-Id: Ib929bfac3689f35aaa58d7d079a46fff188b7e8e
* osmo-release.sh: Add DRY_RUN modePau Espin Pedrol2019-08-071-0/+9
| | | | | | | | | | This option allows testing if everything is in place before attempting release related actions such as commiting, applying tag, etc. It's also useful during development of the osmo-release.sh release itself, sine it makes test iterations faster (no need to undo actions done). Change-Id: Ie5c320b7c92f92fcc37287bb9801368265a986b3
* osmo-release.sh: Drop whitespace after = when parsing LIBVERSIONPau Espin Pedrol2019-08-061-1/+1
| | | | | | | | | | As a result whitespace ended up in some variables and then command "expr" was not happy about it. It was spotted because src/coding/Makefile.am had some whitespacing. Since it's the only one, let's drop the whitespace there too to have similar line in all Makefile.am files. Change-Id: I33afef5e4ef9eb36de81274533f46598ba9a0edb
* osmo-release.sh: Add checks to help avoid libversion debian major mismatchPau Espin Pedrol2018-08-301-2/+39
| | | | Change-Id: Ie0f6a2f9d60908b36f90921bfba3fc31606e5027
* osmo-release.sh: Allow forcing release without LIBVERSION bumpPau Espin Pedrol2018-08-301-2/+5
| | | | | | | | | 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
* osmo-release.sh: Add quotes to string to fix shellcheck warningPau Espin Pedrol2018-08-301-1/+1
| | | | Change-Id: I40376c99d44552d9b8023fca8d319a9312b0fbb0
* osmo-release.sh: Allow user to add extra information to the release commitPau Espin Pedrol2018-05-031-0/+1
| | | | Change-Id: Ie25d921dd27fb7653bd616cb2912330964108663
* osmo-release.sh: Always generate entire commit changelogPau Espin Pedrol2018-05-031-17/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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
* osmo-release.sh: Fix error condition no LIBVERSION modifiedPau Espin Pedrol2018-05-021-5/+2
| | | | | | | | | 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
* osmo-release.sh: Exit with error if no description for new changelog entry ↵Pau Espin Pedrol2018-05-021-0/+5
| | | | | | | | | | 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
* osmo-release.sh: Remove temporary file TODO-RELEASE.entries after usePau Espin Pedrol2018-05-021-0/+1
| | | | Change-Id: I1cac39093d43910c2f5b969f5287cf3678110f4e
* osmo-release.sh: Set correct version when generating the changelogPau Espin Pedrol2018-03-051-1/+1
| | | | | | | 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
* Fixup severe build performance issuesHarald Welte2017-10-041-0/+50
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