diff --git a/elements/pkg-map/extra-data.d/10-create-pkg-map-dir b/elements/pkg-map/extra-data.d/10-create-pkg-map-dir index b3b5d931..0eb6c730 100755 --- a/elements/pkg-map/extra-data.d/10-create-pkg-map-dir +++ b/elements/pkg-map/extra-data.d/10-create-pkg-map-dir @@ -8,10 +8,14 @@ set -o pipefail sudo mkdir -p $TMP_MOUNT_PATH/usr/share/pkg-map/ -for ELEMENT in $IMAGE_ELEMENT ; do - for DIR in ${ELEMENTS_PATH//:/ }; do - if [ -f "$DIR/$ELEMENT/pkg-map" ]; then - sudo cp "$DIR/$ELEMENT/pkg-map" "$TMP_MOUNT_PATH/usr/share/pkg-map/$ELEMENT" - fi - done +eval declare -A image_elements=($(get_image_element_array)) + +for i in "${!image_elements[@]}"; do + element=$i + element_dir=${image_elements[$i]} + + pkg_map="${element_dir}/pkg-map" + if [ -f "${pkg_map}" ]; then + sudo cp "${pkg_map}" "$TMP_MOUNT_PATH/usr/share/pkg-map/$element" + fi done diff --git a/elements/svc-map/extra-data.d/10-merge-svc-map-files b/elements/svc-map/extra-data.d/10-merge-svc-map-files index 3aa1afe2..25b3ff56 100755 --- a/elements/svc-map/extra-data.d/10-merge-svc-map-files +++ b/elements/svc-map/extra-data.d/10-merge-svc-map-files @@ -61,26 +61,22 @@ def write_data_to_file(data, service_file_path): def main(): - elements = os.environ.get("IMAGE_ELEMENT").split(' ') - element_paths = os.environ.get("ELEMENTS_PATH").split(':') + elements = yaml.safe_load(os.environ.get("IMAGE_ELEMENT_YAML")) service_names = dict() - for element in elements: - if not element.strip(): - continue - for element_path in element_paths: - data_path = os.path.join(element_path, element, "svc-map") - if os.path.exists(data_path): - with open(data_path, 'r') as dataFile: - data = yaml.load(dataFile.read()) - try: - service_names = merge_data( - data, - service_names, - os.environ.get("DISTRO_NAME")) - except Exception as err: - print("%s. Check %s for duplicate" - " service name." % (err, element)) - sys.exit(1) + for element, path in elements.items(): + data_path = os.path.join(path, "svc-map") + if os.path.exists(data_path): + with open(data_path, 'r') as dataFile: + data = yaml.load(dataFile.read()) + try: + service_names = merge_data( + data, + service_names, + os.environ.get("DISTRO_NAME")) + except Exception as err: + print("%s. Check %s for duplicate" + " service name." % (err, element)) + sys.exit(1) write_data_to_file( service_names,