ibrdtnd: Fix compilation with uClibc-ng and/or uClibc++ 8887/head
authorRosen Penev <rosenp@gmail.com>
Fri, 3 May 2019 06:35:07 +0000 (23:35 -0700)
committerRosen Penev <rosenp@gmail.com>
Fri, 3 May 2019 07:22:11 +0000 (00:22 -0700)
For some reason, several C++ headers are not included. Include them.

Also added const fixes to get it to build with uClibc++.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
net/ibrdtnd/Makefile
net/ibrdtnd/patches/010-no-const.patch [new file with mode: 0644]
net/ibrdtnd/patches/020-uClibc-ng.patch [new file with mode: 0644]

index f58c1e028402ad40170ebfb6939187a6e43c4603..0a2a5ee815ae3eb7fc58b488c0bfadecc9b76cd0 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ibrdtnd
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
diff --git a/net/ibrdtnd/patches/010-no-const.patch b/net/ibrdtnd/patches/010-no-const.patch
new file mode 100644 (file)
index 0000000..a6c80db
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/src/routing/SchedulingBundleIndex.cpp
++++ b/src/routing/SchedulingBundleIndex.cpp
+@@ -28,7 +28,7 @@ namespace dtn
+               void SchedulingBundleIndex::remove(const dtn::data::BundleID &id)
+               {
+                       ibrcommon::MutexLock l(_index_mutex);
+-                      for (priority_index::const_iterator iter = _priority_index.begin(); iter != _priority_index.end(); ++iter)
++                      for (priority_index::iterator iter = _priority_index.begin(); iter != _priority_index.end(); ++iter)
+                       {
+                               const dtn::data::MetaBundle &b = (*iter);
+                               if (id == (const dtn::data::BundleID&)b) {
+--- a/src/storage/MemoryBundleStorage.cpp
++++ b/src/storage/MemoryBundleStorage.cpp
+@@ -217,7 +217,7 @@ namespace dtn
+                       ibrcommon::MutexLock l(_bundleslock);
+                       // search for the bundle in the bundle list
+-                      const bundle_list::const_iterator iter = find(_bundles.begin(), _bundles.end(), id);
++                      const bundle_list::iterator iter = find(_bundles.begin(), _bundles.end(), id);
+                       // if no bundle was found throw an exception
+                       if (iter == _bundles.end()) throw NoBundleFoundException();
+--- a/src/storage/MetaStorage.cpp
++++ b/src/storage/MetaStorage.cpp
+@@ -66,7 +66,7 @@ namespace dtn
+               {
+                       std::set<dtn::data::EID> ret;
+-                      for (dtn::data::BundleList::const_iterator iter = begin(); iter != end(); ++iter)
++                      for (const_iterator iter = begin(); iter != end(); ++iter)
+                       {
+                               const dtn::data::MetaBundle &bundle = (*iter);
diff --git a/net/ibrdtnd/patches/020-uClibc-ng.patch b/net/ibrdtnd/patches/020-uClibc-ng.patch
new file mode 100644 (file)
index 0000000..abe2209
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/src/security/SecurityCertificateManager.cpp
++++ b/src/security/SecurityCertificateManager.cpp
+@@ -23,6 +23,7 @@
+ #include "Configuration.h"
+ #include <cstdlib>
++#include <cstring>
+ #include <ibrcommon/Logger.h>
+ #include <ibrcommon/ssl/TLSStream.h>
+--- a/src/security/SecurityManager.cpp
++++ b/src/security/SecurityManager.cpp
+@@ -28,6 +28,7 @@
+ #include <ibrdtn/security/PayloadConfidentialBlock.h>
+ #include <ibrdtn/security/ExtensionSecurityBlock.h>
+ #include <ibrcommon/Logger.h>
++#include <cstring>
+ #ifdef __DEVELOPMENT_ASSERTIONS__
+ #include <cassert>