Browse Source

ibrdtn: Switch to uClibc++

Added needed patches. Some are upstream backports.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
lilik-openwrt-22.03
Rosen Penev 5 years ago
parent
commit
2a2acc4de2
5 changed files with 143 additions and 1 deletions
  1. +2
    -1
      libs/ibrdtn/Makefile
  2. +25
    -0
      libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch
  3. +22
    -0
      libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch
  4. +41
    -0
      libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch
  5. +53
    -0
      libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch

+ 2
- 1
libs/ibrdtn/Makefile View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ibrdtn
PKG_VERSION:=1.0.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
@ -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


+ 25
- 0
libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch View File

@ -0,0 +1,25 @@
From 199c86591edc7e82b92903efecadc4f69ea63370 Mon Sep 17 00:00:00 2001
From: Johannes Morgenroth <jm@m-network.de>
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 036a2a6fb..9bbc066d7 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_elem> block_list;

+ 22
- 0
libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch View File

@ -0,0 +1,22 @@
From 6945698778caf7cdaace9ce8dae82162dbe2ee9f Mon Sep 17 00:00:00 2001
From: Johannes Morgenroth <jm@m-network.de>
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 987342e6d..b67fdd393 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());
}

+ 41
- 0
libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch View File

@ -0,0 +1,41 @@
From 1395d849d73147319ee422d2ce34de0bcb90e6f8 Mon Sep 17 00:00:00 2001
From: Johannes Morgenroth <jm@m-network.de>
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 1cd20c522..b71a0849b 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<std::streampos>());
+ (*stream).seekp(obj.fragmentoffset.get<std::streamoff>());
const dtn::data::PayloadBlock &p = obj.find<dtn::data::PayloadBlock>();
const Length plength = p.getLength();
diff --git a/ibrdtn/data/Dictionary.cpp b/ibrdtn/data/Dictionary.cpp
index 6299e66f3..208f90488 100644
--- a/ibrdtn/data/Dictionary.cpp
+++ b/ibrdtn/data/Dictionary.cpp
@@ -154,11 +154,11 @@ namespace dtn
{
char buffer[1024];
- _bytestream.seekg(scheme.get<std::streampos>());
+ _bytestream.seekg(scheme.get<std::streamoff>());
_bytestream.get(buffer, 1024, '\0');
std::string scheme_str(buffer);
- _bytestream.seekg(ssp.get<std::streampos>());
+ _bytestream.seekg(ssp.get<std::streamoff>());
_bytestream.get(buffer, 1024, '\0');
std::string ssp_str(buffer);

+ 53
- 0
libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch View File

@ -0,0 +1,53 @@
From a5b9c2feeaabbd90c9734c5d865d471eed0d5e3a Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
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 <rosenp@gmail.com>
---
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;

Loading…
Cancel
Save