aboutsummaryrefslogtreecommitdiffstats
path: root/osmo-release.sh
AgeCommit message (Collapse)AuthorFilesLines
2024-01-28osmo-release.sh: make it a bit more user friendlyVadim Yanitskiy1-1/+3
Change-Id: I8574cb00de820ab477eb5c4abd05d8e546ca89cc
2022-01-05osmo-release.sh: Use variable containing bumpversion path everywherePau Espin Pedrol1-1/+1
Change-Id: I76d4f687a245468a37eb39df034ed36df2274350
2021-11-16osmo-release.sh: Blacklist script file from LIBVERS matchesPau Espin Pedrol1-1/+1
The file itself appears in the list of matches when run in libosmocore.git. Let's prevent it: """ expr: non-integer argument WARN: Found 19 files matching debian/lib*.install for LIBVERSION=`gitdiff--cached-GLIBVERSION--stat|grepMakefile.am`, manual check required! """ Change-Id: I6d750d312017ebb434650a6e19707ec60faf4020
2021-03-26Skip RPM checks if no *.spec.in availablePau Espin Pedrol1-0/+12
Some projects don't necessarily have RPM packaging yet. Hence, avoid running into unexpected check results in that case. Related: OS#5094 Change-Id: Id306256af1ab3bf081b7df5a6c271628e3b8715c
2021-02-26osmo-release.sh: support epochOliver Smith1-1/+18
Related: OS#5046 Change-Id: I5d9d18d7cc84f185222ee176e6546bb3553a3598
2021-02-24osmo-release.sh: Properly rearrange var init and sanity checksPau Espin Pedrol1-7/+5
Change-Id: If62024fafcd30bc3399115248116e15e141b1cbb
2021-02-24osmo-release.sh: Check LIBVERSION matches rpm *.spec.inPau Espin Pedrol1-41/+81
Change-Id: I7b8d56cc255167407370c888647255d8992f4202
2021-02-24osmo-release.sh: Drop repeated DRY_RUN early exitPau Espin Pedrol1-3/+0
Change-Id: Ib45fa3f5f89e1f7321d6ceace1b9336e5416c38c
2021-02-24osmo-release.sh: Check configure.ac dependency versions match those in rpm ↵Pau Espin Pedrol1-5/+48
*.spec.in Change-Id: I694f4055b39f91aaa0cf5997af67feefad99fdf5
2021-02-23osmo-release.sh: Fix rc!=0 on TODO-RELEASE file without comment linesPau Espin Pedrol1-1/+1
Change-Id: Iff09a090284a0f65fd798d99265cba51f3309923
2021-02-23osmo-release.sh: Omit tab whitespace matching debian/control versionsPau Espin Pedrol1-1/+1
Change-Id: I054245b54adfaae3d51bcfc3a3d1e3ecbaa5f116
2020-01-02osmo-release.sh: Improve of PKG_CHECK_MODULES from configure.acPau Espin Pedrol1-1/+1
Remove brackets and check for "(" after PKG_CHECK_MODULES to avoid getting comments containing the keyword. Change-Id: Ie2b9a65d42615aa3cce6906ddd53758bc3052942
2019-12-03osmo-release.sh: Use set -e before applying changes to prepare releasePau Espin Pedrol1-0/+1
Change-Id: I783c3645537258a75ae6f5a684489d629b852188
2019-09-20osmo-release.sh: update TODO-RELEASE for non-lib projects tooPau Espin Pedrol1-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
2019-08-08osmo-release.sh: Support releasing openbsc.gitPau Espin Pedrol1-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
2019-08-08osmo-release.sh: Check patches under debian/patches applyPau Espin Pedrol1-0/+17
Change-Id: I614080361f3cc5bfb89994a8e8e36981529cd439
2019-08-08osmo-release.sh: Verify consistency of dependency versions in configure.ac ↵Pau Espin Pedrol1-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
2019-08-07osmo-release.sh: Verify debian/rules dh_strip lines match LIBVERSIONPau Espin Pedrol1-0/+14
Change-Id: Ib929bfac3689f35aaa58d7d079a46fff188b7e8e
2019-08-07osmo-release.sh: Add DRY_RUN modePau Espin Pedrol1-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
2019-08-06osmo-release.sh: Drop whitespace after = when parsing LIBVERSIONPau Espin Pedrol1-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
2018-08-30osmo-release.sh: Add checks to help avoid libversion debian major mismatchPau Espin Pedrol1-2/+39
Change-Id: Ie0f6a2f9d60908b36f90921bfba3fc31606e5027
2018-08-30osmo-release.sh: Allow forcing release without LIBVERSION bumpPau Espin Pedrol1-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
2018-08-30osmo-release.sh: Add quotes to string to fix shellcheck warningPau Espin Pedrol1-1/+1
Change-Id: I40376c99d44552d9b8023fca8d319a9312b0fbb0
2018-05-03osmo-release.sh: Allow user to add extra information to the release commitPau Espin Pedrol1-0/+1
Change-Id: Ie25d921dd27fb7653bd616cb2912330964108663
2018-05-03osmo-release.sh: Always generate entire commit changelogPau Espin Pedrol1-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
2018-05-02osmo-release.sh: Fix error condition no LIBVERSION modifiedPau Espin Pedrol1-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
2018-05-02osmo-release.sh: Exit with error if no description for new changelog entry ↵Pau Espin Pedrol1-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
2018-05-02osmo-release.sh: Remove temporary file TODO-RELEASE.entries after usePau Espin Pedrol1-0/+1
Change-Id: I1cac39093d43910c2f5b969f5287cf3678110f4e
2018-03-05osmo-release.sh: Set correct version when generating the changelogPau Espin Pedrol1-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
2017-10-04Fixup severe build performance issuesHarald Welte1-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