<p>osmith <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13454">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Daniel Willmann: Looks good to me, but someone else must approve
  osmith: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">build-old-tags: build libosmo-legacy-mgcp<br><br>Build osmo-mgw 1.4.0 (which provides libosmo-legacy-mgcp) and install<br>it into a different temp dir. Allows properly building osmo-bsc 1.2.x,<br>as soon as a new release is tagged, which makes it use<br>LIBOSMOLEGACYMGCP_CFLAGS and therefore pick up the include path<br>properly [1].<br><br>osmo-mgw 1.4.0's "make check" doesn't pass right now, so add a check<br>parameter to build_repo() and disable them when building<br>libosmo-legacy-mgcp. The checks will get executed later, when the<br>depends are installed and we are building various tags of Osmocom repos,<br>including osmo-mgw 1.4.0.<br><br>While at it, slightly refactor build_repo() to put all arguments into<br>descriptive variable names (as it is getting a bit longer now).<br><br>[1]: Change-Id: Ibd7948f12da710f8ca2b8fde8870f134308eb908<br><br>Related: OS#3867<br>Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0<br>---<br>M scripts/osmocom-build-old-tags-against-master.sh<br>1 file changed, 44 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh</span><br><span>index 0ac220e..c5e9685 100755</span><br><span>--- a/scripts/osmocom-build-old-tags-against-master.sh</span><br><span>+++ b/scripts/osmocom-build-old-tags-against-master.sh</span><br><span>@@ -2,6 +2,7 @@</span><br><span> # Environment variables:</span><br><span> # * PARALLEL_MAKE: -jN argument for make (default: -j5).</span><br><span> # * SKIP_MASTER: don't build REPOS_MASTER (assume that they were just built and keep _temp).</span><br><span style="color: hsl(120, 100%, 40%);">+# * SKIP_LEGACY: don't build libosmo-legacy-mgcp (assume that it was just built and keep _temp).</span><br><span> #</span><br><span> # Latest result:</span><br><span> # https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/lastBuild/console</span><br><span>@@ -53,7 +54,9 @@</span><br><span>                  echo "1.0.0" # testsuite</span><br><span>                   ;;</span><br><span>           osmo-bsc)</span><br><span style="color: hsl(0, 100%, 40%);">-                       echo "1.2.1" # depends on libosmo-legacy-mgcp</span><br><span style="color: hsl(120, 100%, 40%);">+                       # Depends on libosmo-legacy-mgcp, but missing LIBOSMOLEGACYMGCP_CFLAGS so we can't build it with</span><br><span style="color: hsl(120, 100%, 40%);">+                  # this script (we put that legacy lib into a different temp install dir). Fixed in 1.2.2.</span><br><span style="color: hsl(120, 100%, 40%);">+                     echo "1.2.1"</span><br><span>                       echo "1.4.0" # testsuite</span><br><span>                   ;;</span><br><span>           osmo-bts)</span><br><span>@@ -97,9 +100,9 @@</span><br><span> # Delete existing temp dir and create a new one, output the path.</span><br><span> prepare_temp_dir() {</span><br><span>  TEMP="$(cd ..; pwd)/_temp"</span><br><span style="color: hsl(0, 100%, 40%);">-    if [ -n "$SKIP_MASTER" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+      if [ -n "$SKIP_MASTER" ] || [ -n "$SKIP_LEGACY" ]; then</span><br><span>          if ! [ -d "$TEMP" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-                     echo "ERROR: SKIP_MASTER is set, but temp dir not found: $TEMP"</span><br><span style="color: hsl(120, 100%, 40%);">+                     echo "ERROR: SKIP_MASTER or SKIP_LEGACY is set, but temp dir not found: $TEMP"</span><br><span>                     exit 1</span><br><span>               fi</span><br><span>   else</span><br><span>@@ -136,20 +139,27 @@</span><br><span> # $1: installation path (either $TEMP/inst_master or $TEMP/inst)</span><br><span> # $2: repository</span><br><span> # $3: branch, tag or commit</span><br><span style="color: hsl(120, 100%, 40%);">+# $4: run tests (set to 0 to disable tests, default is 1)</span><br><span> # returns: 0 on sucessful build, 1 on error</span><br><span> build_repo() {</span><br><span style="color: hsl(0, 100%, 40%);">- local log="$TEMP/log/$2-$3.txt"</span><br><span style="color: hsl(120, 100%, 40%);">+     local inst="$1"</span><br><span style="color: hsl(120, 100%, 40%);">+     local repo="$2"</span><br><span style="color: hsl(120, 100%, 40%);">+     local branch="$3"</span><br><span style="color: hsl(120, 100%, 40%);">+   local check=""</span><br><span style="color: hsl(120, 100%, 40%);">+      if [ "$4" != "0" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+          check="1"</span><br><span style="color: hsl(120, 100%, 40%);">+   fi</span><br><span> </span><br><span>       if ! PATH="$PWD:$PATH"\</span><br><span style="color: hsl(0, 100%, 40%);">-               PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$PKG_CONFIG_PATH" \</span><br><span style="color: hsl(0, 100%, 40%);">-          LD_LIBRARY_PATH="$TEMP/inst_master/lib:$LD_LIBRARY_PATH" \</span><br><span style="color: hsl(120, 100%, 40%);">+          PKG_CONFIG_PATH="$TEMP/inst_master/lib/pkgconfig:$TEMP/inst_legacy/lib/pkgconfig:$PKG_CONFIG_PATH" \</span><br><span style="color: hsl(120, 100%, 40%);">+                LD_LIBRARY_PATH="$TEMP/inst_master/lib:$TEMP/inst_legacy/lib:$LD_LIBRARY_PATH" \</span><br><span>           MAKE="make" \</span><br><span>              PARALLEL_MAKE="$PARALLEL_MAKE" \</span><br><span style="color: hsl(0, 100%, 40%);">-              CHECK="1" \</span><br><span style="color: hsl(120, 100%, 40%);">+         CHECK="$check" \</span><br><span>           deps="../_deps" \</span><br><span style="color: hsl(0, 100%, 40%);">-             inst="$1" \</span><br><span style="color: hsl(0, 100%, 40%);">-           ./osmo-build-dep.sh "$2" "$3" \</span><br><span style="color: hsl(0, 100%, 40%);">-             > "$log" 2>&1</span><br><span style="color: hsl(120, 100%, 40%);">+             inst="$inst" \</span><br><span style="color: hsl(120, 100%, 40%);">+              ./osmo-build-dep.sh "$repo" "$branch" \</span><br><span style="color: hsl(120, 100%, 40%);">+           > "$TEMP/log/$repo-$branch.txt" 2>&1</span><br><span>     then</span><br><span>                 return 1</span><br><span>     fi</span><br><span>@@ -183,6 +193,29 @@</span><br><span>    done</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+# Build libosmo-legacy-mgcp and install to $TEMP/inst_legacy (osmo-bsc 1.2.1 depends on it).</span><br><span style="color: hsl(120, 100%, 40%);">+build_legacy_mgcp() {</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "Building legacy libraries..."</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       if [ -n "$SKIP_LEGACY" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+              echo "=> SKIPPED (SKIP_LEGACY is set)"</span><br><span style="color: hsl(120, 100%, 40%);">+           return</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  local repo="osmo-mgw"</span><br><span style="color: hsl(120, 100%, 40%);">+       local tag="1.4.0"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Don't run "make check" here. The script tries it during build_repos_tags() instead.</span><br><span style="color: hsl(120, 100%, 40%);">+   local check="0"</span><br><span style="color: hsl(120, 100%, 40%);">+     printf "%-21s %10s %s" " * $repo" "$tag" "(provides libosmo-legacy-mgcp)"</span><br><span style="color: hsl(120, 100%, 40%);">+     if ! build_repo "$TEMP/inst_legacy" "$repo" "$tag" "$check"; then</span><br><span style="color: hsl(120, 100%, 40%);">+             printf "\n"</span><br><span style="color: hsl(120, 100%, 40%);">+         ERROR_LOGS="$ERROR_LOGS $TEMP/log/$repo-$tag.txt"</span><br><span style="color: hsl(120, 100%, 40%);">+           show_errors_exit</span><br><span style="color: hsl(120, 100%, 40%);">+      fi</span><br><span style="color: hsl(120, 100%, 40%);">+    printf "\n"</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # $1: repository</span><br><span> # $2: tag</span><br><span> # returns: 0 when the error should be ignored, 1 otherwise</span><br><span>@@ -231,5 +264,6 @@</span><br><span> </span><br><span> prepare_temp_dir</span><br><span> build_repos_master</span><br><span style="color: hsl(120, 100%, 40%);">+build_legacy_mgcp</span><br><span> build_repos_tags</span><br><span> show_errors_exit</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13454">change 13454</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/13454"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I63d16f8e44c14dee46e2ef3fd050a421017c56b0 </div>
<div style="display:none"> Gerrit-Change-Number: 13454 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Daniel Willmann <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>