#!/usr/bin/env bash # Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. # # 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. set -eE set -o nounset set -o pipefail PACKAGES=$1 JUSTDB=${2:-} SCRIPT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)" source "${SCRIPT_ROOT}/eks-d-common" build::log::setup if [ $JUSTDB ]; then JUSTDB="--justdb" else JUSTDB="" fi RPMS=(${PACKAGES// / }) FINAL_RPMS="" for rpm in "${RPMS[@]}"; do if rpm --root $NEWROOT -q --quiet $rpm ; then FINAL_RPMS+="$rpm " fi done rpm --root $NEWROOT --nodeps $JUSTDB -e $FINAL_RPMS # autoremove does not always look at the full dep tree and sometimes needs to # be run multiple times to get everything that can safely be removed while ! yum --installroot $NEWROOT autoremove -y | tee /dev/stderr | grep -q 'No Packages marked for removal\|Nothing to do.' do : done