Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

Hello,

I would like to upload a fix for FTBFS (#880233) to stretch.
The same fix has been in sid earlier:



diff --git a/debian/changelog b/debian/changelog
index 4da7159..aee9b20 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+openbsc (0.15.0-2+deb9u1) stretch; urgency=medium
+
+  * debian/patches/dbi.patch:
+    - Fix FTBFS with patch (from sid) (Closes: #880233)
+
+ -- Ruben Undheim <ruben.undh...@gmail.com>  Tue, 04 Sep 2018 20:25:16 +0200
+
 openbsc (0.15.0-2) unstable; urgency=medium
 
   * debian/control:
diff --git a/debian/patches/dbi.patch b/debian/patches/dbi.patch
new file mode 100644
index 0000000..a4331d5
--- /dev/null
+++ b/debian/patches/dbi.patch
@@ -0,0 +1,179 @@
+Description: take care of new libdbi version with newly activated error handler
+             patch inspired by #2677 at https://osmocom.org/issues/2667
+Author: Thorsten Alteholz <deb...@alteholz.de>
+Index: openbsc-0.15.0/openbsc/src/libmsc/db.c
+===================================================================
+--- openbsc-0.15.0.orig/openbsc/src/libmsc/db.c        2017-12-06 
16:17:40.000000000 +0100
++++ openbsc-0.15.0/openbsc/src/libmsc/db.c     2017-12-07 09:44:19.285698593 
+0100
+@@ -309,7 +309,8 @@
+                    "Failed fetch messages from the old SMS table (upgrade 
from rev 3).\n");
+               goto rollback;
+       }
+-      while (dbi_result_next_row(result)) {
++      while (dbi_result_has_next_row(result)
++             && dbi_result_next_row(result)) {
+               sms = sms_from_result_v3(result);
+               if (db_sms_store(sms) != 0) {
+                       LOGP(DDB, LOGL_ERROR, "Failed to store message to the 
new SMS table(upgrade from rev 3).\n");
+@@ -379,7 +380,8 @@
+       if (!result)
+               return -EINVAL;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return -EINVAL;
+       }
+@@ -558,7 +560,8 @@
+       if (!result)
+               return -EIO;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return -ENOENT;
+       }
+@@ -604,7 +607,8 @@
+       if (!result)
+               return -EIO;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return -ENOENT;
+       }
+@@ -690,7 +694,8 @@
+       if (!result)
+               return -EIO;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return -ENOENT;
+       }
+@@ -880,7 +885,8 @@
+               LOGP(DDB, LOGL_ERROR, "Failed to query Subscriber.\n");
+               return NULL;
+       }
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               DEBUGP(DDB, "Failed to find the Subscriber. '%u' '%s'\n",
+                       field, id);
+               dbi_result_free(result);
+@@ -916,7 +922,8 @@
+               LOGP(DDB, LOGL_ERROR, "Failed to query Subscriber: %llu\n", 
subscr->id);
+               return -EIO;
+       }
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               DEBUGP(DDB, "Failed to find the Subscriber. %llu\n",
+                       subscr->id);
+               dbi_result_free(result);
+@@ -1104,7 +1111,8 @@
+               return -1;
+       }
+ 
+-      while (dbi_result_next_row(result)) {
++      while (dbi_result_has_next_row(result)
++             && dbi_result_next_row(result)) {
+               struct gsm_subscriber *subscr;
+ 
+               subscr = subscr_alloc();
+@@ -1182,8 +1190,10 @@
+               return -EIO;
+       }
+ 
+-      while (dbi_result_next_row(result))
++      while (dbi_result_has_next_row(result)
++             && dbi_result_next_row(result)) {
+               callback(priv, dbi_result_get_ulonglong(result, "id"));
++      }
+ 
+       dbi_result_free(result);
+       return 0;
+@@ -1221,7 +1231,8 @@
+                       dbi_result_free(result);
+                       continue;
+               }
+-              if (!dbi_result_next_row(result)) {
++              if (!dbi_result_has_next_row(result)
++                  || !dbi_result_next_row(result)) {
+                       dbi_result_free(result);
+                       DEBUGP(DDB, "Allocated TMSI %u for IMSI %s.\n",
+                               subscriber->tmsi, subscriber->imsi);
+@@ -1253,7 +1264,8 @@
+                       dbi_result_free(result);
+                       continue;
+               }
+-              if (!dbi_result_next_row(result)) {
++              if (!dbi_result_has_next_row(result)
++                  || !dbi_result_next_row(result)) {
+                       dbi_result_free(result);
+                       break;
+               }
+@@ -1294,7 +1306,8 @@
+                       dbi_result_free(result);
+                       continue;
+               }
+-              if (!dbi_result_next_row(result)) {
++              if (!dbi_result_has_next_row(result)
++                    || !dbi_result_next_row(result)) {
+                       dbi_result_free(result);
+                       break;
+               }
+@@ -1355,7 +1368,8 @@
+                       LOGP(DDB, LOGL_ERROR, "Failed to query Equipment by 
IMEI.\n");
+                       return 1;
+               }
+-              if (!dbi_result_next_row(result)) {
++              if (!dbi_result_has_next_row(result)
++                  || !dbi_result_next_row(result)) {
+                       LOGP(DDB, LOGL_ERROR, "Failed to find the 
Equipment.\n");
+                       dbi_result_free(result);
+                       return 1;
+@@ -1512,7 +1526,8 @@
+       if (!result)
+               return NULL;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return NULL;
+       }
+@@ -1541,7 +1556,8 @@
+       if (!result)
+               return NULL;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return NULL;
+       }
+@@ -1571,7 +1587,8 @@
+       if (!result)
+               return NULL;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return NULL;
+       }
+@@ -1600,7 +1617,8 @@
+       if (!result)
+               return NULL;
+ 
+-      if (!dbi_result_next_row(result)) {
++        if (!dbi_result_has_next_row(result)
++            || !dbi_result_next_row(result)) {
+               dbi_result_free(result);
+               return NULL;
+       }
diff --git a/debian/patches/series b/debian/patches/series
index 43f03e8..ea6ec47 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ set_version_explicitly.patch
 correct_spelling_errors.patch
 fix_failing_test.patch
 gnutls.patch
+dbi.patch



Best regards,
Ruben

Reply via email to