summaryrefslogtreecommitdiff
path: root/dev-util/mdds
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-06-17 17:57:35 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-06-17 17:57:35 +0100
commit7932d472a02d4c016ff7dff4b7a5479ab9d1883d (patch)
treed07709230f82777cae6ba7dab35aee31896060fb /dev-util/mdds
parentd18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c (diff)
gentoo resync : 17.06.2021
Diffstat (limited to 'dev-util/mdds')
-rw-r--r--dev-util/mdds/Manifest3
-rw-r--r--dev-util/mdds/files/mdds-1.7.0-rtree_test.patch52
-rw-r--r--dev-util/mdds/mdds-1.7.0.ebuild3
3 files changed, 56 insertions, 2 deletions
diff --git a/dev-util/mdds/Manifest b/dev-util/mdds/Manifest
index 26392ff5d9f1..7cd4d9852087 100644
--- a/dev-util/mdds/Manifest
+++ b/dev-util/mdds/Manifest
@@ -1,6 +1,7 @@
AUX mdds-1.5.0-buildsystem.patch 1006 BLAKE2B a6205a749a5a619443a060912bd863c93f74eb88cc68e62b077bdbab0a3e67e2f9ab35774ec5fcd23599b5b10478f529ebd2f89806fe926786d63967f83a9075 SHA512 eb03daf08605c9e54326621af3be39214659627fc4922c9cd3f031073f78a0823c2f1bb7267eb671c189b0326f9ff5d1fe3f60cda14fe9a7ac58d293972d67b9
AUX mdds-1.7.0-bashism.patch 2061 BLAKE2B 766eb3b27b55f058175894d01c91d4b9fa544c8ba15fab79eafb0e333ddf86ed328fa928d21add6bb2da9a31420f35de3a97e960723ce2766b898313434c56d5 SHA512 4994df435477e600aba80c8c7e80cf2b8a76f4d20b19090b61ce94aadfa3d9ff0b75d26fc88094a6b1aa5742fd5ddc70a535dcb6456c890416ac9393aeab0738
+AUX mdds-1.7.0-rtree_test.patch 1673 BLAKE2B c5913765972b2c6346a8414cc9b980337e7fabed862286e421adc59de81ef67cde97cbe084c1b3c8a8549d94a0a4699be8e10c9ca41a101b71f6f45b1dc4c906 SHA512 1bb8fdeffb0cba1eba713856d408f9962531fd73b8b5e61cca382c6ddd09cb10f2afe3a2f964e98201c0ca29d8138f14fe0d8fab1c922d92a66205a353939caa
DIST mdds-1.7.0.tar.xz 313220 BLAKE2B 02ab09ad1338223da2911c05fc8d67c9d0d5414d1dcedac066dc95a2b0853f3801347c9791a5fc5700d666933be78efc52f735453769f9f2123ce06eca1fa67f SHA512 ac2bfe5186d499a79f4379c1dc7cc869bbbd9a59d4943399409dd4dd1ef7e3567a993deda5d5a06ad67dbd94b0a534439805837f2f405c5aca0aeb197178291a
-EBUILD mdds-1.7.0.ebuild 1372 BLAKE2B f032869d8a76a81c0c69306c50744808fc496f152e3ffc6c009c2dfd2f3b248cfce16a31b94f69a8e1d5fa6b7d2541fcabf583da8989919f7e9d74d2a21871b5 SHA512 7d5cd45025533c21387c50d034d61acd72c838859fd94b669340c4d7e082dcfd9543a60a96d4c9c3c873c55a38fe93967a9fb2d490e43fb65be3256e66c2b230
+EBUILD mdds-1.7.0.ebuild 1422 BLAKE2B ed52d519dbb0c219cfa08542b5e6a209e1b9294fa47fd945745e08932517c2a9eaae80922f36c068cafd438ec923e0156a363457efd41e317bc7669319e32905 SHA512 ff433783b015af21b7dacd29755943fcb7003e8a9a7dcd4438adf0278bed0d100411999669cbfd786c52322bb6e78ac998f86c3d8ed4ff52f7a4dac1172c6a8d
EBUILD mdds-9999.ebuild 1331 BLAKE2B c100cdb0e2f8cfbcdd67ad7789c34d7528d8d3a01f8c328e20b10021286ad36b5d5dab9e21cf3c185c65d2a1d284c4a04fec29fe5c91da3172d74130d3390a8c SHA512 694a84b819dcab0fa40ebfb2d6b90949c23feaeb7350e771057d48ace29356d66551d40470d6f45442c87a4c145bcfc916caa4bbb23a2c39e2333171ca722504
MISC metadata.xml 456 BLAKE2B 18fd8f49cbbb2b86b19ef2aaa0dcc1ae57c16597e4357c7f18eeb529972931234fa165e3d1a8a65f1f5b004fed57bfb09896a6b5505fd71d2ffe7cd2a2a42f3b SHA512 51aa3106f9bb7b962e7225e88fb56335b0bef35dc1749866a4e44290ca0cac510be348aa6b5542f536a8b3bdc83dbf39c4af6b79dc603047a7a6ba6980842d71
diff --git a/dev-util/mdds/files/mdds-1.7.0-rtree_test.patch b/dev-util/mdds/files/mdds-1.7.0-rtree_test.patch
new file mode 100644
index 000000000000..391f89798915
--- /dev/null
+++ b/dev-util/mdds/files/mdds-1.7.0-rtree_test.patch
@@ -0,0 +1,52 @@
+From 7ab81002fe127d16602b85b391c1d1b0422a9afd Mon Sep 17 00:00:00 2001
+From: Kohei Yoshida <kohei.yoshida@gmail.com>
+Date: Mon, 14 Jun 2021 22:52:14 -0400
+Subject: [PATCH] std::deque::erase invalidates all elements if the erased
+ element ...
+
+... is not the first or the last element. My previous assumption (
+that only the elements that occur after the erased element become
+invalid) was in fact wrong.
+
+This should resolve #66.
+---
+ include/mdds/rtree_def.inl | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/include/mdds/rtree_def.inl b/include/mdds/rtree_def.inl
+index ed0e9be..84f0673 100644
+--- a/include/mdds/rtree_def.inl
++++ b/include/mdds/rtree_def.inl
+@@ -836,17 +836,20 @@ bool rtree<_Key,_Value,_Trait>::directory_node::erase(const node_store* ns)
+ if (it == children.end())
+ return false;
+
+- it = children.erase(it);
++ // NB: std::deque::erase invalidates all elements when the erased element
++ // is somwhere in the middle. But if the erased element is either the
++ // first or the last element, only the erased element becomes invalidated.
+
+- // All nodes that occur after the erased node have their memory addresses
+- // shifted.
++ std::size_t pos = std::distance(children.begin(), it);
++ bool all_valid = pos == 0 || pos == children.size() - 1;
+
+- std::for_each(it, children.end(),
+- [](node_store& this_ns)
+- {
+- this_ns.valid_pointer = false;
+- }
+- );
++ it = children.erase(it);
++
++ if (!all_valid)
++ {
++ for (node_store& ns : children)
++ ns.valid_pointer = false;
++ }
+
+ return true;
+ }
+--
+GitLab
+
diff --git a/dev-util/mdds/mdds-1.7.0.ebuild b/dev-util/mdds/mdds-1.7.0.ebuild
index 6bd8e95ff762..62a57426b645 100644
--- a/dev-util/mdds/mdds-1.7.0.ebuild
+++ b/dev-util/mdds/mdds-1.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -33,6 +33,7 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-1.5.0-buildsystem.patch"
"${FILESDIR}/${P}-bashism.patch" # bug 723094
+ "${FILESDIR}/${P}-rtree_test.patch" # bug 775056
)
pkg_pretend() {