diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-06-17 17:57:35 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-06-17 17:57:35 +0100 |
commit | 7932d472a02d4c016ff7dff4b7a5479ab9d1883d (patch) | |
tree | d07709230f82777cae6ba7dab35aee31896060fb /dev-util/mdds | |
parent | d18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c (diff) |
gentoo resync : 17.06.2021
Diffstat (limited to 'dev-util/mdds')
-rw-r--r-- | dev-util/mdds/Manifest | 3 | ||||
-rw-r--r-- | dev-util/mdds/files/mdds-1.7.0-rtree_test.patch | 52 | ||||
-rw-r--r-- | dev-util/mdds/mdds-1.7.0.ebuild | 3 |
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() { |