From fecbb03e54cfc3c20cd99cd6e5870f6bb4c83a83 Mon Sep 17 00:00:00 2001 From: Ghe Rivero Date: Mon, 11 Aug 2014 12:35:13 +0000 Subject: [PATCH] Allow to specify an empty package list in pkg_map An empty package list can be provided in a pkg_map file for those cases were there is no need to install the package. Change-Id: I0df8c6848ec4ac9e0f90790f14e8eb5399650339 --- elements/pkg-map/README.md | 11 ++++++++++- elements/pkg-map/bin/pkg-map | 11 +++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/elements/pkg-map/README.md b/elements/pkg-map/README.md index 298fca86..cf68cece 100644 --- a/elements/pkg-map/README.md +++ b/elements/pkg-map/README.md @@ -23,8 +23,10 @@ Provides the following: + suse: includes the opensuse distro The most specific section takes priority. + An empty package list can be provided. Example for Nova and Glance (NOTE: using fictitious package names - for Fedora to provide a good example!) + for Fedora and package mapping for suse family to provide a good + example!) Example format: { @@ -38,6 +40,9 @@ Provides the following: "redhat": { "nova_package": "openstack-nova", "glance_package": "openstack-glance" + }, + "suse": { + "nova_package": "" } }, "default": { @@ -60,6 +65,10 @@ Provides the following: Returns: nova + pkg-map --element nova-compute --distro opensuse nova_package + + Returns: + * This output can be used to filter what other tools actually install (install-packages can be modified to use this for example) diff --git a/elements/pkg-map/bin/pkg-map b/elements/pkg-map/bin/pkg-map index 7aa19562..e529d3fb 100755 --- a/elements/pkg-map/bin/pkg-map +++ b/elements/pkg-map/bin/pkg-map @@ -60,7 +60,9 @@ def main(): # Parse mapping data in this form using distro/family/default # Most specific takes priority (distro is most specific). - # Example for Nova and Glance (using fictitious name for Fedora) + # An empty package list can be provided. + # Example for Nova and Glance (using fictitious name for Fedora and SUSE + # and package mapping for SUSE family) # { # "distro": { # "fedora": { @@ -72,7 +74,10 @@ def main(): # "redhat": { # "nova_package": "openstack-nova", # "glance_package": "openstack-glance" - # } + # }, + # "suse": { + # "nova_package": "" + # } # }, # "default": { # "nova_package": "nova", @@ -92,6 +97,8 @@ def main(): pkg_name = name_map.get(name) if pkg_name: print(pkg_name) + elif name in name_map: + continue else: err_msg = 'Missing package name for distro/element: %s/%s' print(err_msg % (args.distro, args.element))