aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2018-05-02 13:57:31 +0000
committerlynxis lazus <lynxis@fe80.eu>2018-05-04 00:31:07 +0000
commitf82c367858c3e372682ef8811c445b5c46584d22 (patch)
treeae06c03c8765fe5e028e21bea7e888df3e473c0e
parent6da3fe8e8ba7bc836f9c9a0bae228fc798606a55 (diff)
osmocom-nightly-packages: replace version string with by git-version-gen
E.g. old version 0.10.2.20180501 (0.10.2 last deb version, 20180501 was the date) The new version will look like 0.10.2.279.178b - 0.10.2 is the last tag - .279 is 279 commits since the tag - 178b is the actual short git rev The direct output of ./git-version-gen couldn't be used because debian forbids using a minus (-) in upstream versions. Change-Id: I2da90ada90adf8ef8f8cfee3d26f86fbd3cec181
-rwxr-xr-xscripts/osmocom-nightly-packages.sh25
1 files changed, 22 insertions, 3 deletions
diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh
index c9eb2e0..a200f36 100755
--- a/scripts/osmocom-nightly-packages.sh
+++ b/scripts/osmocom-nightly-packages.sh
@@ -37,6 +37,25 @@ prepare() {
osc co "$PROJ"
}
+get_commit_version() {
+ # return a version based on the commit
+ local version
+ local date
+
+ # git version
+ version=$(test -x ./git-version-gen && ./git-version-gen . 2>/dev/null)
+ # debian doesn't allow '-' in version.
+ version=$(echo "$version" | sed 's/-/./g' )
+
+ # deb version
+ if [ -z "$version" ] ; then
+ version=$(head -1 debian/changelog | cut -d ' ' -f 2 | sed 's,(,,' | sed 's,),,')
+ version="$version.$DT"
+ fi
+
+ echo -n "$version"
+}
+
build() {
local name=$1
local changelog=$2
@@ -62,9 +81,9 @@ build() {
cd "$repodir"
if [ "$changelog" = "commit" ] ; then
- VER=$(head -1 debian/changelog | cut -d ' ' -f 2 | sed 's,(,,' | sed 's,),,')
- dch -v "$VER.$DT" -m "Snapshot build"
- git commit -m "$DT snapshot" debian/
+ VER=$(get_commit_version)
+ dch -b -v "$VER" -m "Snapshot build"
+ git commit -m "$VER snapshot" debian/
fi
mkdir -p "$DATA/$name"