summaryrefslogtreecommitdiff
path: root/dev-ros/rosmsg
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
commit7bc9c63c9da678a7e6fceb095d56c634afd22c56 (patch)
tree4a67d50a439e9af63947e5f8b6ba3719af98b6c9 /dev-ros/rosmsg
parentb284a3168fa91a038925d2ecf5e4791011ea5e7d (diff)
gentoo resync : 15.12.2019
Diffstat (limited to 'dev-ros/rosmsg')
-rw-r--r--dev-ros/rosmsg/Manifest21
-rw-r--r--dev-ros/rosmsg/files/norm.patch31
-rw-r--r--dev-ros/rosmsg/files/py3.patch212
-rw-r--r--dev-ros/rosmsg/files/tests.patch15
-rw-r--r--dev-ros/rosmsg/rosmsg-1.13.1.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-1.13.2.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-1.13.4.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-1.13.5.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-1.13.6.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-1.14.2.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-1.14.3-r1.ebuild (renamed from dev-ros/rosmsg/rosmsg-1.13.0.ebuild)5
-rw-r--r--dev-ros/rosmsg/rosmsg-1.14.3.ebuild24
-rw-r--r--dev-ros/rosmsg/rosmsg-9999.ebuild4
13 files changed, 270 insertions, 186 deletions
diff --git a/dev-ros/rosmsg/Manifest b/dev-ros/rosmsg/Manifest
index 54d481bf329b..1600cf2f9a91 100644
--- a/dev-ros/rosmsg/Manifest
+++ b/dev-ros/rosmsg/Manifest
@@ -1,18 +1,7 @@
-DIST ros_comm-1.13.0.tar.gz 974811 BLAKE2B 7fb00bd6fb270aea945cd68ed6a8e372eef0f21a5ab570bef79afff3dc09777c0221c96d5789a14bc58e5130bc1d2fb38c38d260ef70b9b72381b4657ddcde7f SHA512 8cd0f8cb40d51293946a87da0614921150aa87d168e0d38981f0b7eef3c0f514f14ff613efd192c9c898b3a90fedd0cba21a9f337a197377fd946f427369c60b
-DIST ros_comm-1.13.1.tar.gz 1005522 BLAKE2B 5c459893ed362b80facf6e57d12ebfacf1acd5d6e51c266deacf439c78ce7059e34d669e676fd73b8b3f641b3b8ec24500b7a91733d1f4a3a93c5dc911c4fd87 SHA512 92248a91d7b7b6defd8607d70e5a09c43c9bc242cfc5574acd5b08c3f9b765144c848c0f72551bb2e19789a345c31f43ed420a9e3e7fbe38bf47adeb7c52a9d7
-DIST ros_comm-1.13.2.tar.gz 1007451 BLAKE2B 8963267f7cbe625a1160c3d8bdf34dd9c0b1102612632d8c7af7ac32aba507adb116eb3d33353b6302072fcac6ab312e095b4fdc023ecbe5d6591a2912b6aa82 SHA512 eac7ee469bbdb622bc69e5239dea7e7dc97bec7b7e51a8ee49f18756cba753387e884ccd651e201e01985d23f908828c7ae94c311889557caeb742ddcad2e1b9
-DIST ros_comm-1.13.4.tar.gz 1013412 BLAKE2B 0f5a33ae9c5c3bd3c04e26903c4ee7dff2d30f896fbca620100b9db58e8a338cbe79a9305dedb9e8d6f4a9c13b823e5016178db228bb2661eadb6864e20fad40 SHA512 6057afa5b79da661ecdc60459462fe09a7a90b5e43cbf6c5bdfa4095f07e00356eb13c9cab460b91a0c84b789ccf0753c09666ad24fb4b3aec967cb407cf81ce
-DIST ros_comm-1.13.5.tar.gz 1027857 BLAKE2B ed2611179bc7f84bf0b9cde1336474a3bc4c3980ebf97241910123abd430a48ae0636a6ddfb6c191bea2905454644c7ec340e26049d8faddca39783bef13d60b SHA512 91af2de897851061eda140d6c96ec88171f1fd1cd7549b6df1ac570e066603c7bb721a58cb19487657387753433d67ad22421408a237d1ffb5ea580c0cf3eeb3
-DIST ros_comm-1.13.6.tar.gz 1047870 BLAKE2B 874e31faa1a6a77292dab4b7fa64ed13a1f1f63f76512ea351e53bd14ce87662cea5c648e48c3c16668104129cc5eb172bc8f381516bdba676c7212f1acbaaf9 SHA512 382e81847141ab95462fc84a8215b945af995d29f9c0d507665e22faaf79aee9789950546ca7737bd40059f3ed1ecd284ff11bd3e6f1732f3c47a433c5d25155
-DIST ros_comm-1.14.2.tar.gz 1044745 BLAKE2B 1a5d47a4c6682c7a629d9d84be121a5eafcfc16621dec9a9ab9b57c2c7f9070f0007e15492ee44d86e1879351fae20bb9a759093424dd22ae7d44ae0f28e00e1 SHA512 8cece09572dc6b94a42eb49537cbcddbb954f70df01dc7ac9bd8aba17f53207b86afd8ccff81d929eca33bb9642ad7c530835d3f43471de497611940edae4777
+AUX norm.patch 1260 BLAKE2B 09c790fa6d31a76d07a44622c514391a30c855c167aa3598f300754ba24249023efef644c397203e66d25c467b6043a6a6f02d9d19d9a23d1b920619d04e7b9e SHA512 3fe87e224a10bd5b3eaafbb370031ee0ca30f3a968742df78fc6319875f1ae374e06d58dd2d47a499065dba2030914ad5b4221b856b18d340f7119b6435b19cb
+AUX py3.patch 12157 BLAKE2B 13c70122c5b790e9d3f54ed9709d01ec4fbb98ba9b0f912d61d016afe265d81abe19e3e8a1b308536019fb995277e0931a0d1238dd1af128059462d7439a132c SHA512 756d32eef5be6e40564654f0bd8eb66295e02af91e3a6f56b995a593a5687fd5e324a5963e68a44a7f19f7fe98eca5717b272533add90710bea46d05912a1066
+AUX tests.patch 811 BLAKE2B 66d61f39aaa4138f1e4ef60c24724216a698d4c355b6830802a176c74cccddd742849377abdd4773c241cf3096d0023fa6ea98aa0a975376fa02d2ba6ea0510e SHA512 3fca6df07aacb5a8230c5990ded10f18127cd92947b3d263042fe49938a224bce0874bc5bc5924a258b116f88f3176c8aedc0ebc92492329c84320d1e2eb20d4
DIST ros_comm-1.14.3.tar.gz 1045287 BLAKE2B c079983aa730e70028d1bf2c365d01d99ce09ced0c0f6443b18f9d0fb83715f6af4b313d6db4eb99dcc10052c81fa3e6560e7b3591b2fbe14b9ec20fac24babe SHA512 52df24f10f476697ee6fa340da354b45431f35018a25e2674dc9306f175929a4b0368753503ea143f87aeb4945a2e67c37f83d833f54b53f9a76a81022c280a3
-EBUILD rosmsg-1.13.0.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.13.1.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.13.2.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.13.4.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.13.5.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.13.6.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.14.2.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-1.14.3.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
-EBUILD rosmsg-9999.ebuild 551 BLAKE2B 58a8f698f9f972b705d330d5548158b244fe321284039a6c46257f96cbc9dfac567db68c6cfcd2f8d4457b629ab1e70ee40713d34f634abd436ac146ce217ba9 SHA512 f0180f493380b974c6d51867571903928ec61f37c26471bbef054dcd17e771fbedf7b365c9da8990a60ce98689b8062ccc0bb3ca4f5f934db635321eb4cd5cbd
+EBUILD rosmsg-1.14.3-r1.ebuild 691 BLAKE2B b15481ec4b1f5520725f572743d1a5a49e758b731461c0d2136001dd07271a64d55122b610bc8903d6b25fa629607281ce08227e1cfde0853b651c7b35ecc5ba SHA512 a7a9a81c7daa9c997d044322feff1cd7b1d9cf5f2defbc657a5fcd161e4954b36b119eeedc0d4def4809928601d5e5fe5b6eb3f7a173d51a049d1099f349060a
+EBUILD rosmsg-9999.ebuild 604 BLAKE2B a90404a9fe0c516fb7a8525037a7f65011485342f47bf1c202938036b303ac9058161a17a8873f4dc3f807f3faad1e9cd9d74d8654bcf23e5ac55be351d2990f SHA512 6aae30902dcaed9fa8100368eb6590dc821e401fbe6a0a97ee1888ff843f769fb241a4f359803ae9b79ff53b60f46741b8ee59bca5d1016fd33089fec167a29e
MISC metadata.xml 326 BLAKE2B c8975866f4616482c71ac67084df89cea2643cc8233957c86450f7dba2ce320448e4e95fd1495c81717559d3fc5384dcc19f2182d3a348e4dcf2ea4d248e702e SHA512 6f647154c02825982d150588332801ad4c10c75cc5997b7825c0dd0381f48f6a3d09bf88346bc3e075891e77ca43a0a4c9f9c65962fd791085385c4229a1eb45
diff --git a/dev-ros/rosmsg/files/norm.patch b/dev-ros/rosmsg/files/norm.patch
new file mode 100644
index 000000000000..530da65fcd24
--- /dev/null
+++ b/dev-ros/rosmsg/files/norm.patch
@@ -0,0 +1,31 @@
+From 0648d3019dc2395f61a8a7a3d1bbf790eca98739 Mon Sep 17 00:00:00 2001
+From: James Xu <kejia.xu@microsoft.com>
+Date: Wed, 6 Feb 2019 09:47:54 -0800
+Subject: [PATCH] normalize paths before comparison in rosmsg (#1586)
+
+* normalize paths before comparison in rosmsg
+
+* remove use of normcase and remove path_in_workspaces temp variable
+
+* remove duplicated control
+
+* revert unrelated whitespace changes
+
+* keep order of operands
+---
+ tools/rosmsg/src/rosmsg/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/rosmsg/src/rosmsg/__init__.py b/tools/rosmsg/src/rosmsg/__init__.py
+index 83b629e7e..4ed7aa542 100644
+--- a/tools/rosmsg/src/rosmsg/__init__.py
++++ b/tools/rosmsg/src/rosmsg/__init__.py
+@@ -551,7 +551,7 @@ def _get_package_paths(pkgname, rospack):
+ path = rospack.get_path(pkgname)
+ paths.append(path)
+ results = find_in_workspaces(search_dirs=['share'], project=pkgname, first_match_only=True, workspace_to_source_spaces=_catkin_workspace_to_source_spaces, source_path_to_packages=_catkin_source_path_to_packages)
+- if results and results[0] != path:
++ if results and results[0].replace(os.path.sep, '/') != path.replace(os.path.sep, '/'):
+ paths.append(results[0])
+ return paths
+
diff --git a/dev-ros/rosmsg/files/py3.patch b/dev-ros/rosmsg/files/py3.patch
new file mode 100644
index 000000000000..4cfcb77d2a26
--- /dev/null
+++ b/dev-ros/rosmsg/files/py3.patch
@@ -0,0 +1,212 @@
+From 1933acfa8107a164ec825d3223d14589fefd1b5b Mon Sep 17 00:00:00 2001
+From: Dirk Thomas <dirk-thomas@users.noreply.github.com>
+Date: Tue, 6 Aug 2019 16:06:51 -0700
+Subject: [PATCH] more Python 3 compatibility (#1783)
+
+---
+ test/test_rospy/test/unit/test_genmsg_py.py | 6 +--
+ tools/rosgraph/src/rosgraph/roslogging.py | 2 +-
+ .../test/test_roslogging_user_logger.py | 8 +++-
+ tools/roslaunch/test/unit/test_xmlloader.py | 2 +-
+ tools/rosmsg/src/rosmsg/__init__.py | 2 +-
+ tools/rosmsg/test/test_rosmsg_command_line.py | 46 +++++++++----------
+ .../test/test_rosmsgproto_command_line.py | 20 ++++----
+ .../test_rostopic_command_line_offline.py | 44 +++++++++---------
+ 8 files changed, 67 insertions(+), 63 deletions(-)
+
+diff --git a/tools/rosmsg/src/rosmsg/__init__.py b/tools/rosmsg/src/rosmsg/__init__.py
+index 4ed7aa542..75f5afcbd 100644
+--- a/tools/rosmsg/src/rosmsg/__init__.py
++++ b/tools/rosmsg/src/rosmsg/__init__.py
+@@ -240,7 +240,7 @@ def create_names_filter(names):
+ """
+ returns a function to use as filter that returns all objects slots except those with names in list.
+ """
+- return lambda obj : filter(lambda slotname : not slotname in names, obj.__slots__)
++ return lambda obj : list(filter(lambda slotname : not slotname in names, obj.__slots__))
+
+
+ def init_rosmsg_proto():
+diff --git a/tools/rosmsg/test/test_rosmsg_command_line.py b/tools/rosmsg/test/test_rosmsg_command_line.py
+index 02e31022e..d5515a3ac 100644
+--- a/tools/rosmsg/test/test_rosmsg_command_line.py
++++ b/tools/rosmsg/test/test_rosmsg_command_line.py
+@@ -54,24 +54,24 @@ def test_cmd_help(self):
+
+ for cmd in ['rosmsg', 'rossrv']:
+ glob_cmd=[os.path.join(_SCRIPT_FOLDER, cmd)]
+- output = Popen(glob_cmd, stdout=PIPE, env=self.new_environ).communicate()[0]
++ output = Popen(glob_cmd, stdout=PIPE, env=self.new_environ).communicate()[0].decode()
+ self.assert_('Commands' in output)
+- output = Popen(glob_cmd+['-h'], stdout=PIPE, env=self.new_environ).communicate()[0]
++ output = Popen(glob_cmd+['-h'], stdout=PIPE, env=self.new_environ).communicate()[0].decode()
+ self.assert_('Commands' in output)
+ self.assert_('Traceback' not in output)
+ for c in sub:
+ self.assert_("%s %s"%(cmd, c) in output, "%s %s"%(cmd, c) + " not in "+ output + " of " + str(glob_cmd))
+
+ for c in sub:
+- output = Popen(glob_cmd + [c, '-h'], stdout=PIPE, env=self.new_environ).communicate()[0]
++ output = Popen(glob_cmd + [c, '-h'], stdout=PIPE, env=self.new_environ).communicate()[0].decode()
+ self.assert_('Usage' in output)
+ self.assert_("%s %s"%(cmd, c) in output, output)
+
+ def test_cmd_packages(self):
+ # - single line
+- output1 = Popen(['rosmsg', 'packages', '-s'], stdout=PIPE).communicate()[0]
++ output1 = Popen(['rosmsg', 'packages', '-s'], stdout=PIPE).communicate()[0].decode()
+ # - multi-line
+- output2 = Popen(['rosmsg', 'packages'], stdout=PIPE).communicate()[0]
++ output2 = Popen(['rosmsg', 'packages'], stdout=PIPE).communicate()[0].decode()
+ l1 = [x for x in output1.split() if x]
+ l2 = [x.strip() for x in output2.split('\n') if x.strip()]
+ self.assertEquals(l1, l2)
+@@ -80,8 +80,8 @@ def test_cmd_packages(self):
+ for p in ['std_srvs', 'rosmsg']:
+ self.assert_(p not in l1)
+
+- output1 = Popen(['rossrv', 'packages', '-s'], stdout=PIPE).communicate()[0]
+- output2 = Popen(['rossrv', 'packages'], stdout=PIPE).communicate()[0]
++ output1 = Popen(['rossrv', 'packages', '-s'], stdout=PIPE).communicate()[0].decode()
++ output2 = Popen(['rossrv', 'packages'], stdout=PIPE).communicate()[0].decode()
+ l1 = [x for x in output1.split() if x]
+ l2 = [x.strip() for x in output2.split('\n') if x.strip()]
+ self.assertEquals(l1, l2)
+@@ -92,14 +92,14 @@ def test_cmd_packages(self):
+
+ def test_cmd_list(self):
+ # - multi-line
+- output1 = Popen([os.path.join(_SCRIPT_FOLDER,'rosmsg'), 'list'], stdout=PIPE).communicate()[0]
++ output1 = Popen([os.path.join(_SCRIPT_FOLDER,'rosmsg'), 'list'], stdout=PIPE).communicate()[0].decode()
+ l1 = [x.strip() for x in output1.split('\n') if x.strip()]
+ for p in ['std_msgs/String', 'test_rosmaster/Floats']:
+ self.assert_(p in l1)
+ for p in ['std_srvs/Empty', 'roscpp/Empty']:
+ self.assert_(p not in l1)
+
+- output1 = Popen([os.path.join(_SCRIPT_FOLDER,'rossrv'), 'list'], stdout=PIPE).communicate()[0]
++ output1 = Popen([os.path.join(_SCRIPT_FOLDER,'rossrv'), 'list'], stdout=PIPE).communicate()[0].decode()
+ l1 = [x.strip() for x in output1.split('\n') if x.strip()]
+ for p in ['std_srvs/Empty', 'roscpp/Empty']:
+ self.assert_(p in l1)
+@@ -109,9 +109,9 @@ def test_cmd_list(self):
+ def test_cmd_package(self):
+ # this test is obviously very brittle, but should stabilize as the tests stabilize
+ # - single line output
+- output1 = Popen(['rosmsg', 'package', '-s', 'test_rosmaster'], stdout=PIPE).communicate()[0]
++ output1 = Popen(['rosmsg', 'package', '-s', 'test_rosmaster'], stdout=PIPE).communicate()[0].decode()
+ # - multi-line output
+- output2 = Popen(['rosmsg', 'package', 'test_rosmaster'], stdout=PIPE).communicate()[0]
++ output2 = Popen(['rosmsg', 'package', 'test_rosmaster'], stdout=PIPE).communicate()[0].decode()
+ l = set([x for x in output1.split() if x])
+ l2 = set([x.strip() for x in output2.split('\n') if x.strip()])
+ self.assertEquals(l, l2)
+@@ -121,8 +121,8 @@ def test_cmd_package(self):
+ 'test_rosmaster/RosmsgC']:
+ self.assertTrue(m in l, l)
+
+- output = Popen(['rossrv', 'package', '-s', 'test_rosmaster'], stdout=PIPE).communicate()[0]
+- output2 = Popen(['rossrv', 'package','test_rosmaster'], stdout=PIPE).communicate()[0]
++ output = Popen(['rossrv', 'package', '-s', 'test_rosmaster'], stdout=PIPE).communicate()[0].decode()
++ output2 = Popen(['rossrv', 'package','test_rosmaster'], stdout=PIPE).communicate()[0].decode()
+ l = set([x for x in output.split() if x])
+ l2 = set([x.strip() for x in output2.split('\n') if x.strip()])
+ self.assertEquals(l, l2)
+@@ -132,14 +132,14 @@ def test_cmd_package(self):
+
+ ## test that the rosmsg/rossrv show command works
+ def test_cmd_show(self):
+- output = Popen(['rosmsg', 'show', 'std_msgs/String'], stdout=PIPE).communicate()[0]
++ output = Popen(['rosmsg', 'show', 'std_msgs/String'], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals('string data', output.strip())
+
+- output = Popen(['rossrv', 'show', 'std_srvs/Empty'], stdout=PIPE).communicate()[0]
++ output = Popen(['rossrv', 'show', 'std_srvs/Empty'], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals('---', output.strip())
+- output = Popen(['rossrv', 'show', 'std_srvs/Empty'], stdout=PIPE).communicate()[0]
++ output = Popen(['rossrv', 'show', 'std_srvs/Empty'], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals('---', output.strip())
+- output = Popen(['rossrv', 'show', 'test_rosmaster/AddTwoInts'], stdout=PIPE).communicate()[0]
++ output = Popen(['rossrv', 'show', 'test_rosmaster/AddTwoInts'], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals('int64 a\nint64 b\n---\nint64 sum', output.strip())
+
+ # test against test_rosmsg package
+@@ -159,20 +159,20 @@ def test_cmd_show(self):
+ text = text+'\n' # running command adds one new line
+ text_raw = text_raw+'\n'
+ type_ =test_message_package+'/'+t
+- output = Popen(['rosmsg', 'show', type_], stdout=PIPE).communicate()[0]
++ output = Popen(['rosmsg', 'show', type_], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals(text, output)
+- output = Popen(['rosmsg', 'show', '-r',type_], stdout=PIPE).communicate()[0]
++ output = Popen(['rosmsg', 'show', '-r',type_], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals(text_raw, output)
+- output = Popen(['rosmsg', 'show', '--raw', type_], stdout=PIPE).communicate()[0]
++ output = Popen(['rosmsg', 'show', '--raw', type_], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals(text_raw, output)
+
+ # test as search
+ type_ = t
+ text = "[test_rosmaster/%s]:\n%s"%(t, text)
+ text_raw = "[test_rosmaster/%s]:\n%s"%(t, text_raw)
+- output = Popen(['rosmsg', 'show', type_], stdout=PIPE).communicate()[0]
++ output = Popen(['rosmsg', 'show', type_], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals(text, output)
+ output = Popen(['rosmsg', 'show', '-r',type_], stdout=PIPE, stderr=PIPE).communicate()
+- self.assertEquals(text_raw, output[0], "Failed: %s"%(str(output)))
+- output = Popen(['rosmsg', 'show', '--raw', type_], stdout=PIPE).communicate()[0]
++ self.assertEquals(text_raw, output[0].decode(), "Failed: %s"%(str(output)))
++ output = Popen(['rosmsg', 'show', '--raw', type_], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals(text_raw, output)
+diff --git a/tools/rosmsg/test/test_rosmsgproto_command_line.py b/tools/rosmsg/test/test_rosmsgproto_command_line.py
+index b5b555e78..b4aa0c5b3 100644
+--- a/tools/rosmsg/test/test_rosmsgproto_command_line.py
++++ b/tools/rosmsg/test/test_rosmsgproto_command_line.py
+@@ -67,37 +67,37 @@ def testFail(self):
+ cmd.extend(["msg", "foo123barxyz"])
+ call = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, env = self.new_environ)
+ (output, erroutput) = call.communicate()
+- self.assertEqual('', output)
+- self.assertTrue('Unknown message name foo123barxyz' in erroutput)
++ self.assertEqual(b'', output)
++ self.assertTrue('Unknown message name foo123barxyz' in erroutput.decode())
+
+ def testSilentFail(self):
+ cmd = copy.copy(ROSMSGPROTO_FN)
+ cmd.extend(["msg", "-s", "foo123barxyz"])
+ call = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, env = self.new_environ)
+ (output, erroutput) = call.communicate()
+- self.assertEqual('', output)
+- self.assertEqual('', erroutput)
++ self.assertEqual(b'', output)
++ self.assertEqual(b'', erroutput)
+
+ def testSilentFailCpp(self):
+ cmd = copy.copy(ROSMSGPROTO_FN)
+ cmd.extend(["msg", "-s", "foo123barxyz::bar"])
+ call = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, env = self.new_environ)
+ (output, erroutput) = call.communicate()
+- self.assertEqual('', output)
+- self.assertEqual('', erroutput)
++ self.assertEqual(b'', output)
++ self.assertEqual(b'', erroutput)
+
+ def testSilentFailDot(self):
+ cmd = copy.copy(ROSMSGPROTO_FN)
+ cmd.extend(["msg", "-s", "foo123barxyz.bar"])
+ call = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, env = self.new_environ)
+ (output, erroutput) = call.communicate()
+- self.assertEqual('', output)
+- self.assertEqual('', erroutput)
++ self.assertEqual(b'', output)
++ self.assertEqual(b'', erroutput)
+
+ def testSilentFailMode(self):
+ cmd = copy.copy(ROSMSGPROTO_FN)
+ cmd.extend(["msgfoobar", "-s", "foo123barxyz.bar"])
+ call = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.PIPE, env = self.new_environ)
+ (output, erroutput) = call.communicate()
+- self.assertEqual('', output)
+- self.assertEqual('', erroutput)
++ self.assertEqual(b'', output)
++ self.assertEqual(b'', erroutput)
diff --git a/dev-ros/rosmsg/files/tests.patch b/dev-ros/rosmsg/files/tests.patch
new file mode 100644
index 000000000000..f8b514b4e127
--- /dev/null
+++ b/dev-ros/rosmsg/files/tests.patch
@@ -0,0 +1,15 @@
+Index: rosmsg/test/test_rosmsg_command_line.py
+===================================================================
+--- rosmsg.orig/test/test_rosmsg_command_line.py
++++ rosmsg/test/test_rosmsg_command_line.py
+@@ -168,8 +168,8 @@ class TestRosmsg(unittest.TestCase):
+
+ # test as search
+ type_ = t
+- text = "[test_rosmaster/%s]:\n%s"%(t, text)
+- text_raw = "[test_rosmaster/%s]:\n%s"%(t, text_raw)
++ text = ("[test_rosmaster/%s]:\n%s"%(t, text))*2
++ text_raw = ("[test_rosmaster/%s]:\n%s"%(t, text_raw))*2
+ output = Popen(['rosmsg', 'show', type_], stdout=PIPE).communicate()[0].decode()
+ self.assertEquals(text, output)
+ output = Popen(['rosmsg', 'show', '-r',type_], stdout=PIPE, stderr=PIPE).communicate()
diff --git a/dev-ros/rosmsg/rosmsg-1.13.1.ebuild b/dev-ros/rosmsg/rosmsg-1.13.1.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.13.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-1.13.2.ebuild b/dev-ros/rosmsg/rosmsg-1.13.2.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.13.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-1.13.4.ebuild b/dev-ros/rosmsg/rosmsg-1.13.4.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.13.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-1.13.5.ebuild b/dev-ros/rosmsg/rosmsg-1.13.5.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.13.5.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-1.13.6.ebuild b/dev-ros/rosmsg/rosmsg-1.13.6.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.13.6.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-1.14.2.ebuild b/dev-ros/rosmsg/rosmsg-1.14.2.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.14.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-1.13.0.ebuild b/dev-ros/rosmsg/rosmsg-1.14.3-r1.ebuild
index 8087d80c4e41..116c190ae75e 100644
--- a/dev-ros/rosmsg/rosmsg-1.13.0.ebuild
+++ b/dev-ros/rosmsg/rosmsg-1.14.3-r1.ebuild
@@ -21,4 +21,7 @@ RDEPEND="
dev-ros/roslib[${PYTHON_USEDEP}]
dev-ros/rosbag[${PYTHON_USEDEP}]
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}
+ test? ( dev-ros/test_rosmaster[${PYTHON_USEDEP}] )
+"
+PATCHES=( "${FILESDIR}/py3.patch" "${FILESDIR}/norm.patch" "${FILESDIR}/tests.patch" )
diff --git a/dev-ros/rosmsg/rosmsg-1.14.3.ebuild b/dev-ros/rosmsg/rosmsg-1.14.3.ebuild
deleted file mode 100644
index 8087d80c4e41..000000000000
--- a/dev-ros/rosmsg/rosmsg-1.14.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-ROS_REPO_URI="https://github.com/ros/ros_comm"
-KEYWORDS="~amd64 ~arm"
-ROS_SUBDIR=tools/${PN}
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit ros-catkin
-
-DESCRIPTION="Command-line tools for displaying information about message and services"
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-ros/genmsg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-ros/roslib[${PYTHON_USEDEP}]
- dev-ros/rosbag[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
diff --git a/dev-ros/rosmsg/rosmsg-9999.ebuild b/dev-ros/rosmsg/rosmsg-9999.ebuild
index 8087d80c4e41..05019766a002 100644
--- a/dev-ros/rosmsg/rosmsg-9999.ebuild
+++ b/dev-ros/rosmsg/rosmsg-9999.ebuild
@@ -21,4 +21,6 @@ RDEPEND="
dev-ros/roslib[${PYTHON_USEDEP}]
dev-ros/rosbag[${PYTHON_USEDEP}]
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}
+ test? ( dev-ros/test_rosmaster[${PYTHON_USEDEP}] )
+"