summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Chrétien2014-06-04 20:23:07 +0200
committerBenjamin Chrétien2015-06-20 02:25:12 +0900
commita92a2f1d0d92c1332019d8b883d15f6fddda286d (patch)
tree6ffd2ef1c6b37d87de1ce8792b266bb84f8ca5ec
parent818605054b087dba3df68b156120e61cb70bab8a (diff)
downloadaur-a92a2f1d0d92c1332019d8b883d15f6fddda286d.tar.gz
ros-build-tools: more work on Python 3 support.
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD2
-rwxr-xr-ximport_catkin_packages.py25
3 files changed, 23 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c6fe1a380c60..37ec9fd4785f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -26,7 +26,7 @@ pkgbase = ros-build-tools
md5sums = d257f7f20384e894b0431ee61068aa96
md5sums = 563c9d1320a3a997db25d3087303dcfb
md5sums = 8d6d7eb89a12c449497b209f1a06655b
- md5sums = 5a0176cd0a668e728a9aefd80442d8b7
+ md5sums = 54bcd1051cc6b1d38f034f21864475c5
md5sums = 07f5253eb3f8cb5295c32026a20ab6c0
pkgname = ros-build-tools
diff --git a/PKGBUILD b/PKGBUILD
index 11921d56fe70..b7259de0d688 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -41,5 +41,5 @@ md5sums=('ed01573e0ecc0f7ca451d7e2849cc5ee'
'd257f7f20384e894b0431ee61068aa96'
'563c9d1320a3a997db25d3087303dcfb'
'8d6d7eb89a12c449497b209f1a06655b'
- '5a0176cd0a668e728a9aefd80442d8b7'
+ '54bcd1051cc6b1d38f034f21864475c5'
'07f5253eb3f8cb5295c32026a20ab6c0')
diff --git a/import_catkin_packages.py b/import_catkin_packages.py
index c2f04832933d..252281aa9a7c 100755
--- a/import_catkin_packages.py
+++ b/import_catkin_packages.py
@@ -95,9 +95,13 @@ class PackageBase(object):
else:
fixed_dependencies.add(dep)
- # Fix some possibly missing Python 2 package conflicts
- fixed_dependencies = [self._ensure_python2_dependency(dependency)
- for dependency in fixed_dependencies]
+ # Fix some possibly missing Python 2/3 package conflicts
+ if self.distro.python_major() == "2":
+ fixed_dependencies = [self._ensure_python2_dependency(dependency)
+ for dependency in fixed_dependencies]
+ elif self.distro.python_major() == "3":
+ fixed_dependencies = [self._ensure_python3_dependency(dependency)
+ for dependency in fixed_dependencies]
return fixed_dependencies
fixed_build_dep = _fix_dependencies_with_map(build_dep)
@@ -132,7 +136,14 @@ class PackageBase(object):
return name.replace('_', '-')
def _ensure_python2_dependency(self, dependency):
- return dependency.replace('python-', 'python2-')
+ # python ---> python2
+ # python-foo ---> python2-foo
+ return re.sub(r'python(?!2)([a-zA-Z0-9\-]*)', r'python2\1', dependency)
+
+ def _ensure_python3_dependency(self, dependency):
+ # python2 ---> python
+ # python2-foo ---> python-foo
+ return re.sub(r'python2([a-zA-Z0-9\-]*)', r'python\1', dependency)
def _get_package_xml_url(self, url, name, version):
if url.find('github'):
@@ -411,6 +422,12 @@ class DistroDescription(object):
def meta_package_package_names(self, name):
return self._distro['repositories'][name]['release']['packages']
+ def python_major(self):
+ """
+ Return the major version number of Python.
+ """
+ return self.python_version.split('.')[0]
+
def _is_meta_package(self, name):
if self._distro['repositories'].get(name) != None:
if self._distro['repositories'][name].get('release') != None: