summaryrefslogtreecommitdiff
path: root/dev-python/catkin_pkg/files/infinite_loop4.patch
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2020-05-13 12:56:43 +0200
committerAlexis Ballier <aballier@gentoo.org>2020-05-13 16:07:02 +0200
commit9fed31691229b14a129c17e37f50e6d5c84819c7 (patch)
treeac982af4f0f97816a9835c2b25ac46569a846d27 /dev-python/catkin_pkg/files/infinite_loop4.patch
parentf480e75f941e1a56d61918152432aff0234e9a9b (diff)
downloadgentoo-9fed31691229b14a129c17e37f50e6d5c84819c7.tar.gz
gentoo-9fed31691229b14a129c17e37f50e6d5c84819c7.tar.bz2
gentoo-9fed31691229b14a129c17e37f50e6d5c84819c7.zip
dev-python/catkin_pkg: Bump to 0.4.20.
Add python 3.8 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Alexis Ballier <aballier@gentoo.org>
Diffstat (limited to 'dev-python/catkin_pkg/files/infinite_loop4.patch')
-rw-r--r--dev-python/catkin_pkg/files/infinite_loop4.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/dev-python/catkin_pkg/files/infinite_loop4.patch b/dev-python/catkin_pkg/files/infinite_loop4.patch
new file mode 100644
index 000000000000..affb67bb8367
--- /dev/null
+++ b/dev-python/catkin_pkg/files/infinite_loop4.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/show_bug.cgi?id=612860
+By Tim Rakowski
+We os.walk /usr with followlinks=True, but at least nodejs contains a "recursive" link in /usr/include/node
+
+Index: catkin_pkg-0.4.20/src/catkin_pkg/packages.py
+===================================================================
+--- catkin_pkg-0.4.20.orig/src/catkin_pkg/packages.py
++++ catkin_pkg-0.4.20/src/catkin_pkg/packages.py
+@@ -57,7 +57,9 @@ def find_package_paths(basepath, exclude
+ """
+ paths = []
+ real_exclude_paths = [os.path.realpath(p) for p in exclude_paths] if exclude_paths is not None else []
++ visited = set()
+ for dirpath, dirnames, filenames in os.walk(basepath, followlinks=True):
++ visited.add(dirpath)
+ if set(dirnames + filenames) & {'AMENT_IGNORE', 'CATKIN_IGNORE', 'COLCON_IGNORE'} or \
+ os.path.realpath(dirpath) in real_exclude_paths or \
+ (exclude_subspaces and '.catkin' in filenames):
+@@ -68,7 +70,7 @@ def find_package_paths(basepath, exclude
+ del dirnames[:]
+ continue
+ # filter out hidden directories in-place
+- dirnames[:] = [d for d in dirnames if not d.startswith('.')]
++ dirnames[:] = [d for d in dirnames if not d.startswith('.') and not os.path.realpath(os.path.join(dirpath, d)) in visited]
+ return paths
+
+