<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/23088">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo-release.sh: Check configure.ac dependency versions match those in rpm *.spec.in<br><br>Change-Id: I694f4055b39f91aaa0cf5997af67feefad99fdf5<br>---<br>M osmo-release.sh<br>1 file changed, 48 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/23088/1</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 b63f981..52ccfeb 100755</span><br><span>--- a/osmo-release.sh</span><br><span>+++ b/osmo-release.sh</span><br><span>@@ -21,16 +21,19 @@</span><br><span>        echo "$major"</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Make sure that depedency requirement versions match in configure.ac vs debian/control.</span><br><span style="color: hsl(0, 100%, 40%);">-#eg: "PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0)" vs "libosmocore-dev (>= 1.0.0),"</span><br><span style="color: hsl(0, 100%, 40%);">-check_configureac_debctrl_deps_match() {</span><br><span style="color: hsl(120, 100%, 40%);">+get_configureac_pkg_check_modules_list() {</span><br><span>   if [ -f "${GIT_TOPDIR}/openbsc/configure.ac" ]; then</span><br><span>               configureac_file="openbsc/configure.ac"</span><br><span>    else</span><br><span>                 configureac_file="configure.ac"</span><br><span>    fi</span><br><span style="color: hsl(0, 100%, 40%);">-      configureac_list=$(grep -e "PKG_CHECK_MODULES(" "${GIT_TOPDIR}/${configureac_file}" | cut -d "," -f 2 | tr -d ")" | tr -d "[" | tr -d "]" | tr -d " " | sed "s/>=/ /g")</span><br><span style="color: hsl(0, 100%, 40%);">-      echo "$configureac_list" | \</span><br><span style="color: hsl(120, 100%, 40%);">+        grep -e "PKG_CHECK_MODULES(" "${GIT_TOPDIR}/${configureac_file}" | cut -d "," -f 2 | tr -d ")" | tr -d "[" | tr -d "]" | tr -d " " | sed "s/>=/ /g"</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%);">+# 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%);">+       get_configureac_pkg_check_modules_list | \</span><br><span>   { return_error=0</span><br><span>     while read -r dep ver; do</span><br><span> </span><br><span>@@ -66,6 +69,45 @@</span><br><span>   echo "OK: dependency specific versions in configure.ac and debian/control match"</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 contrib/*.spec.in.</span><br><span style="color: hsl(120, 100%, 40%);">+#eg: "PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0)" vs "pkgconfig(libosmocore-dev) >= 1.0.0,"</span><br><span style="color: hsl(120, 100%, 40%);">+check_configureac_rpmspecin_deps_match() {</span><br><span style="color: hsl(120, 100%, 40%);">+ get_configureac_pkg_check_modules_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%);">+           rpmspecin_match="$(grep -e "pkgconfig(${dep})" ${GIT_TOPDIR}/contrib/*.spec.in | grep BuildRequires | grep pkgconfig | grep ">=")"</span><br><span style="color: hsl(120, 100%, 40%);">+           rpmspecin_match_count="$(echo "$rpmspecin_match" | grep -c ">=")"</span><br><span style="color: hsl(120, 100%, 40%);">+            if [ "z$rpmspecin_match_count" != "z0" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                    #echo "Dependency <$dep, $ver> from configure.ac matched in contrib/*.spec.in! ($rpmspecin_match_count)"</span><br><span style="color: hsl(120, 100%, 40%);">+                      if [ "z$rpmspecin_match_count" != "z1" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                            echo "WARN: configure.ac <$dep, $ver> matches contrib/*.spec.in $rpmspecin_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 "$rpmspecin_match" | tr -d "(" | tr -d ")" | tr -d ":" | tr -d " " | tr -d "\t" | sed "s/BuildRequires//g" | sed "s/pkgconfig//g" |sed "s/>=/ /g")</span><br><span style="color: hsl(120, 100%, 40%);">+                           rpmspecin_dep=$(echo "$parsed_match" | cut -d " " -f 1)</span><br><span style="color: hsl(120, 100%, 40%);">+                           rpmspecin_ver=$(echo "$parsed_match" | cut -d " " -f 2)</span><br><span style="color: hsl(120, 100%, 40%);">+                           if [ "z$dep" != "z$rpmspecin_dep" ] || [ "z$ver" != "z$rpmspecin_ver" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                                 echo "ERROR: configure.ac <$dep, $ver> does NOT match contrib/*.spec.in <$rpmspecin_dep, $rpmspecin_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 contrib/*.spec.in <$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 contrib/*.spec.in match"</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # Make sure that patches under debian/patches/ apply:</span><br><span> check_debian_patch_apply() {</span><br><span>  if [ ! -d "${GIT_TOPDIR}/debian/patches" ]; then</span><br><span>@@ -102,6 +144,7 @@</span><br><span> echo "Releasing $VERSION -> $NEW_VER..."</span><br><span> </span><br><span> check_configureac_debctrl_deps_match</span><br><span style="color: hsl(120, 100%, 40%);">+check_configureac_rpmspecin_deps_match</span><br><span> check_debian_patch_apply</span><br><span> </span><br><span> if [ "z$LIBVERS" != "z" ]; then</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/23088">change 23088</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/+/23088"/><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: I694f4055b39f91aaa0cf5997af67feefad99fdf5 </div>
<div style="display:none"> Gerrit-Change-Number: 23088 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>