set -euo pipefail
cache_dir="$1"
kernel_name="$2"
kernel_release="$3"
jq -e --arg name "$kernel_name" --arg release "$kernel_release" \
'.kernel_name == $name and .kernel_release == $release' \
"$cache_dir/cache.json" > /dev/null
shopt -s nullglob
rpms=("$cache_dir"/*.rpm)
(( ${#rpms[@]} > 0 )) || { echo 'Kernel cache has no RPMs' >&2; exit 1; }
[[ -s "$cache_dir/$kernel_name-$kernel_release.rpm" ]]
[[ -s "$cache_dir/$kernel_name-core-$kernel_release.rpm" ]]
for package in "${rpms[@]}"; do
release=$(rpm -qp --qf '%{VERSION}-%{RELEASE}.%{ARCH}' "$package")
[[ "$release" == "$kernel_release" ]] || {
echo "Unexpected kernel RPM in cache: $package ($release)" >&2
exit 1
}
done