<p>laforge <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/15110">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo-release.sh: Verify consistency of dependency versions in configure.ac and debian/control<br><br>Sample output for current osmo-msc master:<br>Releasing 1.3.1.191-7ea0d -> 1.4.0...<br>ERROR: configure.ac <libosmocore, 1.0.0> does NOT match debian/control <libosmocore, 0.10.0>!<br>ERROR: configure.ac <libosmo-netif, 0.4.0> does NOT match debian/control <libosmo-netif, 0.1.0>!<br>ERROR: configure.ac <libosmo-sigtran, 1.0.0> does NOT match debian/control <libosmo-sigtran, 0.8.0>!<br>ERROR: configure.ac <libosmo-mgcp-client, 1.5.0> does NOT match debian/control <libosmo-mgcp-client, 1.1.0>!<br>ERROR: configure.ac <libosmo-gsup-client, 1.0.0> does NOT match debian/control <libosmo-gsup-client, 0.2.1>!<br>ERROR: configure.ac <libsmpp34, 1.13.0> does NOT match debian/control <libsmpp34, 1.12>!<br>ERROR: configure.ac <libasn1c, 0.9.30> does NOT match debian/control <libasn1c, 0.9.28>!<br>ERROR: configure.ac <libosmo-ranap, 0.3.0> does NOT match debian/control <libosmo-ranap, 0.2.0>!<br>ERROR: exiting due to previous errors<br>make: *** [osmo-release.mk:9: release] Error 1<br><br>Change-Id: I702a82c1b0e21dbe71a334a6f8bc62efe07859a6<br>---<br>M osmo-release.sh<br>1 file changed, 42 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/osmo-release.sh b/osmo-release.sh</span><br><span>index e9602aa..38f238d 100755</span><br><span>--- a/osmo-release.sh</span><br><span>+++ b/osmo-release.sh</span><br><span>@@ -21,6 +21,46 @@</span><br><span>       echo "$major"</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+# Make sure that depedency requirement versions match in configure.ac vs debian/control.</span><br><span style="color: hsl(120, 100%, 40%);">+#eg: "PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0)" vs "libosmocore-dev (>= 1.0.0),"</span><br><span style="color: hsl(120, 100%, 40%);">+check_configureac_debctrl_deps_match() {</span><br><span style="color: hsl(120, 100%, 40%);">+  configureac_list=$(grep -e "PKG_CHECK_MODULES" "${GIT_TOPDIR}/configure.ac" | cut -d "," -f 2 | tr -d ")" | tr -d " " | sed "s/>=/ /g")</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "$configureac_list" | \</span><br><span style="color: hsl(120, 100%, 40%);">+        { return_error=0</span><br><span style="color: hsl(120, 100%, 40%);">+      while read -r dep ver; do</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           debctrl_match="$(grep -e "${dep}-dev" ${GIT_TOPDIR}/debian/control | grep ">=")"</span><br><span style="color: hsl(120, 100%, 40%);">+             debctrl_match_count="$(echo "$debctrl_match" | grep -c ">=")"</span><br><span style="color: hsl(120, 100%, 40%);">+                if [ "z$debctrl_match_count" != "z0" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                      #echo "Dependency <$dep, $ver> from configure.ac matched in debian/control! ($debctrl_match_count)"</span><br><span style="color: hsl(120, 100%, 40%);">+                   if [ "z$debctrl_match_count" != "z1" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                              echo "WARN: configure.ac <$dep, $ver> matches debian/control $debctrl_match_count times, manual check required!"</span><br><span style="color: hsl(120, 100%, 40%);">+                      else # 1 match:</span><br><span style="color: hsl(120, 100%, 40%);">+                               parsed_match=$(echo "$debctrl_match" | tr -d "(" | tr -d ")" | tr -d "," | tr -d " " | sed "s/>=/ /g")</span><br><span style="color: hsl(120, 100%, 40%);">+                         debctrl_dep=$(echo "$parsed_match" | cut -d " " -f 1 | sed "s/-dev//g")</span><br><span style="color: hsl(120, 100%, 40%);">+                         debctrl_ver=$(echo "$parsed_match" | cut -d " " -f 2)</span><br><span style="color: hsl(120, 100%, 40%);">+                             if [ "z$dep" != "z$debctrl_dep" ] || [ "z$ver" != "z$debctrl_ver" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                                     echo "ERROR: configure.ac <$dep, $ver> does NOT match debian/control <$debctrl_dep, $debctrl_ver>!"</span><br><span style="color: hsl(120, 100%, 40%);">+                                     return_error=1</span><br><span style="color: hsl(120, 100%, 40%);">+                                #else</span><br><span style="color: hsl(120, 100%, 40%);">+                         #       echo "OK: configure.ac <$dep, $ver> matches debian/control <$debctrl_dep, $debctrl_ver>"</span><br><span style="color: hsl(120, 100%, 40%);">+                                fi</span><br><span style="color: hsl(120, 100%, 40%);">+                    fi</span><br><span style="color: hsl(120, 100%, 40%);">+            fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+  if [ $return_error -ne 0 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+              exit 1</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%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   # catch and forward exit from pipe subshell "while read":</span><br><span style="color: hsl(120, 100%, 40%);">+   if [ $? -ne 0 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+         echo "ERROR: exiting due to previous errors"</span><br><span style="color: hsl(120, 100%, 40%);">+                exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "OK: dependency specific versions in configure.ac and debian/control match"</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> BUMPVER=`command -v bumpversion`</span><br><span> GIT_TOPDIR="$(git rev-parse --show-toplevel)"</span><br><span> NEW_VER=`bumpversion --list --current-version $VERSION $REL --allow-dirty | awk -F '=' '{ print $2 }'`</span><br><span>@@ -40,6 +80,8 @@</span><br><span> </span><br><span> echo "Releasing $VERSION -> $NEW_VER..."</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+check_configureac_debctrl_deps_match</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> if [ "z$LIBVERS" != "z" ]; then</span><br><span>         if [ "z$MAKEMOD" = "z" ] && [ "z$ALLOW_NO_LIBVERSION_CHANGE" = "z0" ]; then</span><br><span>          echo "ERROR: Before releasing, please modify some of the libversions: $LIBVERS"</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/15110">change 15110</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/libosmocore/+/15110"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I702a82c1b0e21dbe71a334a6f8bc62efe07859a6 </div>
<div style="display:none"> Gerrit-Change-Number: 15110 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>