diff --git a/pymod2pkg/__init__.py b/pymod2pkg/__init__.py index b288117..b6210ec 100644 --- a/pymod2pkg/__init__.py +++ b/pymod2pkg/__init__.py @@ -67,6 +67,10 @@ def default_rdo_tr(mod): return pkg +def default_ubuntu_tr(mod): + return 'python-' + mod.lower() + + def default_suse_tr(mod): return 'python-' + mod @@ -159,6 +163,31 @@ SUSE_PKG_MAP = [ pkgfun=lambda x: x), ] +UBUNTU_PKG_MAP = [ + SingleRule('django_openstack_auth', 'python-openstack-auth'), + SingleRule('glance_store', 'python-glance-store'), + SingleRule('GitPython', 'python-git'), + SingleRule('PyMySQL', 'python-mysql'), + SingleRule('pyOpenSSL', 'python-openssl'), + SingleRule('PyYAML', 'python-yaml'), + SingleRule('sqlalchemy-migrate', 'python-migrate'), + SingleRule('suds-jurko', 'python-suds'), + + # Openstack clients + MultiRule( + mods=['python-%sclient' % c for c in ( + 'barbican', 'ceilometer', 'cinder', 'cloudkitty', 'congress', + 'designate', 'fuel', 'heat', 'glance', 'ironic', + 'karbor', 'keystone', + 'magnum', 'manila', 'mistral', 'monasca', + 'murano', 'neutron', 'nova', + 'openstack', 'sahara', + 'senlin', 'swift', + 'trove', 'zaqar')], + pkgfun=lambda x: x), + +] + OPENSTACK_UPSTREAM_PKG_MAP = [ SingleRule('openstacksdk', 'python-openstacksdk'), SingleRule('gnocchiclient', 'python-gnocchiclient'), @@ -171,12 +200,16 @@ OPENSTACK_UPSTREAM_PKG_MAP = [ def get_pkg_map(dist): if dist.lower().find('suse') != -1: return SUSE_PKG_MAP + if dist.lower().find('ubuntu') != -1: + return UBUNTU_PKG_MAP return RDO_PKG_MAP def get_default_tr_func(dist): if dist.lower().find('suse') != -1: return default_suse_tr + if dist.lower().find('ubuntu') != -1: + return default_ubuntu_tr return default_rdo_tr diff --git a/tests.py b/tests.py index 7e13bde..1d3b848 100644 --- a/tests.py +++ b/tests.py @@ -27,6 +27,8 @@ class Pymod2PkgTests(unittest.TestCase): def test_get_default_translation_func(self): self.assertEqual(pymod2pkg.get_default_tr_func('suse'), pymod2pkg.default_suse_tr) + self.assertEqual(pymod2pkg.get_default_tr_func('ubuntu'), + pymod2pkg.default_ubuntu_tr) self.assertEqual(pymod2pkg.get_default_tr_func('anything'), pymod2pkg.default_rdo_tr) @@ -54,6 +56,16 @@ class Pymod2PkgTests(unittest.TestCase): self.assertEqual(pymod2pkg.module2package('Tempest', 'suse'), 'openstack-tempest') + def test_translation_ubuntu(self): + self.assertEqual(pymod2pkg.module2package('nova', 'ubuntu'), + 'python-nova') + self.assertEqual(pymod2pkg.module2package('python-cinderclient', + 'ubuntu'), + 'python-cinderclient') + self.assertEqual(pymod2pkg.module2package('python-neutronclient', + 'ubuntu'), + 'python-neutronclient') + def test_default_translation_rdo(self): self.assertEqual(pymod2pkg.module2package('oslo.db', 'fedora'), 'python-oslo-db')