dev-ros/roslaunch: remove yaml.load() usages
authorAlexis Ballier <aballier@gentoo.org>
Wed, 11 Dec 2019 15:52:22 +0000 (16:52 +0100)
committerAlexis Ballier <aballier@gentoo.org>
Wed, 11 Dec 2019 16:12:27 +0000 (17:12 +0100)
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
dev-ros/roslaunch/files/yaml.patch [new file with mode: 0644]
dev-ros/roslaunch/roslaunch-1.14.3-r1.ebuild [moved from dev-ros/roslaunch/roslaunch-1.14.3.ebuild with 95% similarity]
dev-ros/roslaunch/roslaunch-9999.ebuild

diff --git a/dev-ros/roslaunch/files/yaml.patch b/dev-ros/roslaunch/files/yaml.patch
new file mode 100644 (file)
index 0000000..135e992
--- /dev/null
@@ -0,0 +1,44 @@
+Index: roslaunch/src/roslaunch/loader.py
+===================================================================
+--- roslaunch.orig/src/roslaunch/loader.py
++++ roslaunch/src/roslaunch/loader.py
+@@ -98,7 +98,7 @@ def convert_value(value, type_):
+         raise ValueError("%s is not a '%s' type"%(value, type_))
+     elif type_ == 'yaml':
+         try:
+-            return yaml.load(value)
++            return yaml.safe_load(value)
+         except yaml.parser.ParserError as e:
+             raise ValueError(e)
+     else:
+@@ -409,7 +409,7 @@ class Loader(object):
+             if rosparam is None:
+                 import rosparam
+             try:
+-                data = yaml.load(text)
++                data = yaml.safe_load(text)
+                 # #3162: if there is no YAML, load() will return an
+                 # empty string.  We want an empty dictionary instead
+                 # for our representation of empty.
+Index: roslaunch/test/unit/test_roslaunch_dump_params.py
+===================================================================
+--- roslaunch.orig/test/unit/test_roslaunch_dump_params.py
++++ roslaunch/test/unit/test_roslaunch_dump_params.py
+@@ -53,7 +53,7 @@ class TestDumpParams(unittest.TestCase):
+         o, e = p.communicate()
+         self.assert_(p.returncode == 0, "Return code nonzero for param dump! Code: %d" % (p.returncode))
+-        self.assertEquals({'/noop': 'noop'}, yaml.load(o))
++        self.assertEquals({'/noop': 'noop'}, yaml.safe_load(o))
+         p = Popen([cmd, '--dump-params', 'roslaunch', 'test-dump-rosparam.launch'], stdout = PIPE)
+         o, e = p.communicate()
+@@ -95,7 +95,7 @@ class TestDumpParams(unittest.TestCase):
+             '/noparam1': 'value1',
+             '/noparam2': 'value2',
+             }
+-        output_val = yaml.load(o)
++        output_val = yaml.safe_load(o)
+         if not val == output_val:
+             for k, v in val.items():
+                 if k not in output_val:
similarity index 95%
rename from dev-ros/roslaunch/roslaunch-1.14.3.ebuild
rename to dev-ros/roslaunch/roslaunch-1.14.3-r1.ebuild
index be129d1514847739ddfcaa6a0dc7a68c4c1fdb65..cc74b7791b52a7e77655ce4940d3ae0ce9db0af4 100644 (file)
@@ -31,7 +31,7 @@ DEPEND="${RDEPEND}
                dev-python/nose[${PYTHON_USEDEP}]
                dev-ros/test_rosmaster
        )"
-PATCHES=( "${FILESDIR}/timeout.patch" )
+PATCHES=( "${FILESDIR}/timeout.patch" "${FILESDIR}/yaml.patch" )
 
 src_test() {
        rosdep update
index be129d1514847739ddfcaa6a0dc7a68c4c1fdb65..cc74b7791b52a7e77655ce4940d3ae0ce9db0af4 100644 (file)
@@ -31,7 +31,7 @@ DEPEND="${RDEPEND}
                dev-python/nose[${PYTHON_USEDEP}]
                dev-ros/test_rosmaster
        )"
-PATCHES=( "${FILESDIR}/timeout.patch" )
+PATCHES=( "${FILESDIR}/timeout.patch" "${FILESDIR}/yaml.patch" )
 
 src_test() {
        rosdep update