#!/usr/bin/bash

###########################################################################
# Copyright (C) 2020, 2021, 2022 IoT.bzh                                  #
#                                                                         #
# Author:   Salma Raiss <salma.raiss@iot.bzh>                             #
#                                                                         #
# Licensed under the Apache License, Version 2.0 (the "License");         #
# you may not use this file except in compliance with the License.        #
# You may obtain a copy of the License at                                 #
#                                                                         #
#     http://www.apache.org/licenses/LICENSE-2.0                          #
#                                                                         #
# Unless required by applicable law or agreed to in writing, software     #
# distributed under the License is distributed on an "AS IS" BASIS,       #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.#
# See the License for the specific language governing permissions and     #
# limitations under the License.                                          #
###########################################################################
#                 Get currently installed packages                        #
###########################################################################

set -e

INSTALLED_PACKAGES=$(rpm -qa --queryformat "%{NAME}#%{VERSION}#%{ARCH}\n")

if [ -z "${INSTALLED_PACKAGES}" ]; then
    echo installed_packages=""
    exit 0
fi

installedPkgsJson=$(for package in ${INSTALLED_PACKAGES};do
    IFS=$'#' read pkg_name pkg_version pkg_arch <<< $package ;
    jq -n --arg pn "$pkg_name"  --arg pv "$pkg_version"  --arg pa "$pkg_arch" \
            '. + {name: $pn, version: $pv, arch: $pa}';\
    done | jq -s .)

echo installed_packages=${installedPkgsJson}

