<p>osmith <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ci/+/18442">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  osmith: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">OBS: add osmocom-next-packages.sh<br><br>Fill the "next" feed with source packages generated from the "next"<br>branch of each Osmocom project, if it exists, with fallback to the<br>"master" branch. Implement as wrapper around osmocom-nightly-packages.sh,<br>so we don't duplicate code and don't need to add more logic to the jenkins<br>job.<br><br>Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of<br>each osmocom-*-packages.sh script stating the feed they can be used with.<br><br>Related: SYS#4887<br>Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce<br>---<br>M scripts/osmocom-latest-packages.sh<br>A scripts/osmocom-next-packages.sh<br>M scripts/osmocom-nightly-packages.sh<br>3 files changed, 45 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh</span><br><span>index 4d5b3f3..46d8a0f 100755</span><br><span>--- a/scripts/osmocom-latest-packages.sh</span><br><span>+++ b/scripts/osmocom-latest-packages.sh</span><br><span>@@ -1,4 +1,5 @@</span><br><span> #!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+# Generate source packages and upload them to OBS, for the latest feed.</span><br><span> . "$(dirname "$0")/common.sh"</span><br><span> . "$(dirname "$0")/common-obs.sh"</span><br><span> </span><br><span>@@ -24,7 +25,7 @@</span><br><span>   mkdir "$DEBSRCDIR"</span><br><span> </span><br><span>   cd "$TOP"</span><br><span style="color: hsl(0, 100%, 40%);">-  osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly"</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" "osmocom-next"</span><br><span> }</span><br><span> </span><br><span> get_last_tag() {</span><br><span>diff --git a/scripts/osmocom-next-packages.sh b/scripts/osmocom-next-packages.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..aa9ab90</span><br><span>--- /dev/null</span><br><span>+++ b/scripts/osmocom-next-packages.sh</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/bash</span><br><span style="color: hsl(120, 100%, 40%);">+# Generate source packages and upload them to OBS, for the next feed.</span><br><span style="color: hsl(120, 100%, 40%);">+. "$(dirname "$0")/common.sh"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+export FEED="next"</span><br><span style="color: hsl(120, 100%, 40%);">+$OSMO_CI_DIR/scripts/osmocom-nightly-packages.sh</span><br><span>diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh</span><br><span>index 40f2a6c..4a0bc80 100755</span><br><span>--- a/scripts/osmocom-nightly-packages.sh</span><br><span>+++ b/scripts/osmocom-nightly-packages.sh</span><br><span>@@ -1,16 +1,35 @@</span><br><span> #!/bin/bash</span><br><span style="color: hsl(120, 100%, 40%);">+# Generate source packages and upload them to OBS, for the nightly or next feed.</span><br><span style="color: hsl(120, 100%, 40%);">+# Environment variables:</span><br><span style="color: hsl(120, 100%, 40%);">+# * FEED: the binary package feed to upload to, this also controls the source branch that is used:</span><br><span style="color: hsl(120, 100%, 40%);">+#   * "nightly": use "master" branch (default)</span><br><span style="color: hsl(120, 100%, 40%);">+#   * "next": use "next" branch if it exists, otherwise use "master" branch</span><br><span> . "$(dirname "$0")/common.sh"</span><br><span> . "$(dirname "$0")/common-obs.sh"</span><br><span> </span><br><span> set -e</span><br><span> set -x</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# OBS project name</span><br><span style="color: hsl(0, 100%, 40%);">-PROJ=network:osmocom:nightly</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> DT=$(date +%Y%m%d)</span><br><span> TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+# Set FEED and PROJ, based on the FEED env var</span><br><span style="color: hsl(120, 100%, 40%);">+parse_feed_proj() {</span><br><span style="color: hsl(120, 100%, 40%);">+  FEED="${FEED:-nightly}"</span><br><span style="color: hsl(120, 100%, 40%);">+  case "$FEED" in</span><br><span style="color: hsl(120, 100%, 40%);">+  nightly)</span><br><span style="color: hsl(120, 100%, 40%);">+    PROJ=network:osmocom:nightly</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+  next)</span><br><span style="color: hsl(120, 100%, 40%);">+    PROJ=network:osmocom:next</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+  *)</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "unsupported feed: $FEED"</span><br><span style="color: hsl(120, 100%, 40%);">+    exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+  esac</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> ### OBS build</span><br><span> prepare() {</span><br><span>   # clean up the whole space</span><br><span>@@ -19,7 +38,14 @@</span><br><span>   osc co "$PROJ"</span><br><span> </span><br><span>   cd "$REPO"</span><br><span style="color: hsl(0, 100%, 40%);">-  osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest"</span><br><span style="color: hsl(120, 100%, 40%);">+  case "$FEED" in</span><br><span style="color: hsl(120, 100%, 40%);">+  nightly)</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" "osmocom-next"</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+  next)</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_obs_prepare_conflict "osmocom-next" "osmocom-latest" "osmocom-nightly"</span><br><span style="color: hsl(120, 100%, 40%);">+    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+  esac</span><br><span> }</span><br><span> </span><br><span> get_last_tag() {</span><br><span>@@ -70,6 +96,10 @@</span><br><span>     osmo_git_clone_date "$url"</span><br><span>   fi</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+  if [ "$FEED" = "next" ] && git -C "$name" show-branch remotes/origin/next >/dev/null 2>&1; then</span><br><span style="color: hsl(120, 100%, 40%);">+    git -C "$name" checkout next</span><br><span style="color: hsl(120, 100%, 40%);">+  fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   cd -</span><br><span> }</span><br><span> </span><br><span>@@ -99,7 +129,7 @@</span><br><span> </span><br><span>   if [ "$changelog" = "commit" ] ; then</span><br><span>     VER=$(get_commit_version)</span><br><span style="color: hsl(0, 100%, 40%);">-    osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly"</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_obs_add_debian_dependency "./debian/control" "osmocom-$FEED"</span><br><span>     dch -b -v "$VER" -m "Snapshot build"</span><br><span>     git commit -m "$VER snapshot" debian/</span><br><span>   fi</span><br><span>@@ -213,7 +243,7 @@</span><br><span>   osmo_obs_checkout_copy debian8 osmo-trx</span><br><span>   osmo_obs_checkout_copy debian10 limesuite</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  build osmocom-nightly</span><br><span style="color: hsl(120, 100%, 40%);">+  build osmocom-$FEED</span><br><span>   build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)"</span><br><span>   build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)"</span><br><span>   build osmo-gsm-manuals</span><br><span>@@ -256,4 +286,5 @@</span><br><span>   post</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+parse_feed_proj</span><br><span> build_osmocom</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ci/+/18442">change 18442</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ci/+/18442"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ci </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce </div>
<div style="display:none"> Gerrit-Change-Number: 18442 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>