diff --git a/files/yum_update.sh b/files/yum_update.sh index 69722ed..1ea99a1 100755 --- a/files/yum_update.sh +++ b/files/yum_update.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -eux @@ -11,7 +11,9 @@ fi packages_for_update= if [ -n "$1" ] && command -v repoquery >/dev/null 2>&1; then - packages_for_update=("$(repoquery --disablerepo='*' --enablerepo=$1 --qf %{NAME} -a)") + installed=$(rpm -qa --qf "%{NAME}\n" | sort) + available=$(repoquery --disablerepo='*' --enablerepo=$1 --qf %{NAME} -a | sort) + packages_for_update=$(comm -12 <(printf "%s\n" $installed) <(printf "%s\n" $available)) fi if [ -z "$packages_for_update" ]; then