diff --git a/libs/ibrcommon/Makefile b/libs/ibrcommon/Makefile index 3c50d3acff8776..0526432f8e3774 100644 --- a/libs/ibrcommon/Makefile +++ b/libs/ibrcommon/Makefile @@ -20,12 +20,13 @@ PKG_LICENSE:=Apache-2.0 PKG_INSTALL:=1 PKG_FIXUP:=libtool +include $(INCLUDE_DIR)/uclibc++.mk include $(INCLUDE_DIR)/package.mk define Package/ibrcommon SECTION:=libs CATEGORY:=Libraries - DEPENDS:=+libstdcpp +libpthread +librt +libnl +libopenssl + DEPENDS:=$(CXX_DEPENDS) +libpthread +librt +libnl +libopenssl TITLE:=IBR Common C++ Library endef diff --git a/libs/ibrdtn/Makefile b/libs/ibrdtn/Makefile index a510c78619919a..cd24cc3f9a4585 100644 --- a/libs/ibrdtn/Makefile +++ b/libs/ibrdtn/Makefile @@ -20,6 +20,7 @@ PKG_LICENSE:=Apache-2.0 PKG_INSTALL:=1 PKG_FIXUP:=libtool +include $(INCLUDE_DIR)/uclibc++.mk include $(INCLUDE_DIR)/package.mk define Package/ibrdtn diff --git a/libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch b/libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch new file mode 100644 index 00000000000000..b3b1701c8db292 --- /dev/null +++ b/libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch @@ -0,0 +1,28 @@ +From 199c86591edc7e82b92903efecadc4f69ea63370 Mon Sep 17 00:00:00 2001 +From: Johannes Morgenroth +Date: Tue, 1 Jan 2019 11:25:50 +0100 +Subject: [PATCH] Add operator!=() to Bundle::block_elem + +Alternative implementations of libstdcpp as uclibc++ use it in +the algorithm implemenetations. +--- + ibrdtn/data/Bundle.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ibrdtn/data/Bundle.h b/ibrdtn/data/Bundle.h +index 036a2a6f..9bbc066d 100644 +--- a/ibrdtn/data/Bundle.h ++++ b/ibrdtn/data/Bundle.h +@@ -69,6 +69,9 @@ namespace dtn + bool operator==(const dtn::data::block_t &type) const { + return (**this) == type; + } ++ bool operator!=(const dtn::data::block_t &type) const { ++ return !((**this) == type); ++ } + }; + + typedef std::list block_list; +-- +2.17.1 + diff --git a/libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch b/libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch new file mode 100644 index 00000000000000..a09733c674ba51 --- /dev/null +++ b/libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch @@ -0,0 +1,25 @@ +From 6945698778caf7cdaace9ce8dae82162dbe2ee9f Mon Sep 17 00:00:00 2001 +From: Johannes Morgenroth +Date: Thu, 3 Jan 2019 07:26:51 +0100 +Subject: [PATCH] Use const iterator in const function of MemoryBundleSet + +--- + ibrdtn/data/MemoryBundleSet.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ibrdtn/data/MemoryBundleSet.cpp b/ibrdtn/data/MemoryBundleSet.cpp +index 987342e6..b67fdd39 100644 +--- a/ibrdtn/data/MemoryBundleSet.cpp ++++ b/ibrdtn/data/MemoryBundleSet.cpp +@@ -134,7 +134,7 @@ namespace dtn + // the bundles set. This happen if the MemoryBundleSet gets deserialized. + if (!_consistent) return true; + +- bundle_set::iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle)); ++ bundle_set::const_iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle)); + return (iter != _bundles.end()); + } + +-- +2.17.1 + diff --git a/libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch b/libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch new file mode 100644 index 00000000000000..a2b317926ba66b --- /dev/null +++ b/libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch @@ -0,0 +1,44 @@ +From 1395d849d73147319ee422d2ce34de0bcb90e6f8 Mon Sep 17 00:00:00 2001 +From: Johannes Morgenroth +Date: Thu, 3 Jan 2019 07:34:14 +0100 +Subject: [PATCH] Use std::streamoff instead of std::streampos + +--- + ibrdtn/data/BundleMerger.cpp | 2 +- + ibrdtn/data/Dictionary.cpp | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ibrdtn/data/BundleMerger.cpp b/ibrdtn/data/BundleMerger.cpp +index 1cd20c52..b71a0849 100644 +--- a/ibrdtn/data/BundleMerger.cpp ++++ b/ibrdtn/data/BundleMerger.cpp +@@ -119,7 +119,7 @@ namespace dtn + } + + ibrcommon::BLOB::iostream stream = c._blob.iostream(); +- (*stream).seekp(obj.fragmentoffset.get()); ++ (*stream).seekp(obj.fragmentoffset.get()); + + const dtn::data::PayloadBlock &p = obj.find(); + const Length plength = p.getLength(); +diff --git a/ibrdtn/data/Dictionary.cpp b/ibrdtn/data/Dictionary.cpp +index 6299e66f..208f9048 100644 +--- a/ibrdtn/data/Dictionary.cpp ++++ b/ibrdtn/data/Dictionary.cpp +@@ -154,11 +154,11 @@ namespace dtn + { + char buffer[1024]; + +- _bytestream.seekg(scheme.get()); ++ _bytestream.seekg(scheme.get()); + _bytestream.get(buffer, 1024, '\0'); + std::string scheme_str(buffer); + +- _bytestream.seekg(ssp.get()); ++ _bytestream.seekg(ssp.get()); + _bytestream.get(buffer, 1024, '\0'); + std::string ssp_str(buffer); + +-- +2.17.1 + diff --git a/libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch b/libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch new file mode 100644 index 00000000000000..afd8e2da5b5a28 --- /dev/null +++ b/libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch @@ -0,0 +1,56 @@ +From a5b9c2feeaabbd90c9734c5d865d471eed0d5e3a Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Thu, 28 Mar 2019 01:55:15 -0700 +Subject: [PATCH] Add operator!=() to BundleID and MetaBundle + +Needed for uClibc++. + +Signed-off-by: Rosen Penev +--- + ibrdtn/data/Bundle.cpp | 10 ++++++++++ + ibrdtn/data/Bundle.h | 2 ++ + 2 files changed, 12 insertions(+) + +diff --git a/ibrdtn/data/Bundle.cpp b/ibrdtn/data/Bundle.cpp +index f515860..943544e 100644 +--- a/ibrdtn/data/Bundle.cpp ++++ b/ibrdtn/data/Bundle.cpp +@@ -71,11 +71,21 @@ namespace dtn + return other == (const PrimaryBlock&)(*this); + } + ++ bool Bundle::operator!=(const BundleID& other) const ++ { ++ return other != (const PrimaryBlock&)(*this); ++ } ++ + bool Bundle::operator==(const MetaBundle& other) const + { + return other == (const PrimaryBlock&)(*this); + } + ++ bool Bundle::operator!=(const MetaBundle& other) const ++ { ++ return other != (const PrimaryBlock&)(*this); ++ } ++ + bool Bundle::operator!=(const Bundle& other) const + { + return (const PrimaryBlock&)(*this) != (const PrimaryBlock&)other; +diff --git a/ibrdtn/data/Bundle.h b/ibrdtn/data/Bundle.h +index 9bbc066..6a4ea47 100644 +--- a/ibrdtn/data/Bundle.h ++++ b/ibrdtn/data/Bundle.h +@@ -97,7 +97,9 @@ namespace dtn + virtual ~Bundle(); + + bool operator==(const BundleID& other) const; ++ bool operator!=(const BundleID& other) const; + bool operator==(const MetaBundle& other) const; ++ bool operator!=(const MetaBundle& other) const; + + bool operator==(const Bundle& other) const; + bool operator!=(const Bundle& other) const; +-- +2.17.1 + diff --git a/net/ibrdtn-tools/Makefile b/net/ibrdtn-tools/Makefile index 3ef388136710f0..6bae31dc2bf5ae 100644 --- a/net/ibrdtn-tools/Makefile +++ b/net/ibrdtn-tools/Makefile @@ -19,6 +19,7 @@ PKG_LICENSE:=Apache-2.0 PKG_INSTALL:=1 +include $(INCLUDE_DIR)/uclibc++.mk include $(INCLUDE_DIR)/package.mk define Package/ibrdtn-tools diff --git a/net/ibrdtnd/Makefile b/net/ibrdtnd/Makefile index f58c1e028402ad..f4c42fb1e1720f 100644 --- a/net/ibrdtnd/Makefile +++ b/net/ibrdtnd/Makefile @@ -20,6 +20,7 @@ PKG_LICENSE:=Apache-2.0 PKG_FIXUP:=autoreconf PKG_INSTALL:=1 +include $(INCLUDE_DIR)/uclibc++.mk include $(INCLUDE_DIR)/package.mk define Package/ibrdtnd diff --git a/net/ibrdtnd/patches/010-no-const.patch b/net/ibrdtnd/patches/010-no-const.patch new file mode 100644 index 00000000000000..8cf3269ef3c2be --- /dev/null +++ b/net/ibrdtnd/patches/010-no-const.patch @@ -0,0 +1,13 @@ +diff --git a/src/storage/MemoryBundleStorage.cpp b/src/storage/MemoryBundleStorage.cpp +index bc6029c..5023778 100644 +--- 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();