update-kernel: Use policy to detect available packages (list)
It's much slower but works even if `apt-scripts' is not installed. Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
This commit is contained in:
parent
476bdba5b6
commit
e7301f6828
@ -166,16 +166,13 @@ if [ -n "$list" ]; then
|
||||
echo "List of available kernels${kernel_flavour:+ for $kernel_flavour flavour}:"
|
||||
list_files=$(mktemp)
|
||||
rpm -qa --queryformat '[%{=NAME}\t%{FILENAMES}\n]' 'kernel-*' > "$list_files"
|
||||
list_extras=$(mktemp)
|
||||
set -o pipefail
|
||||
apt-cache list-extras 2>/dev/null | sort > "$list_extras" && extras=1 || extras=
|
||||
apt-cache pkgnames "kernel-image-${kernel_flavour}" | sort \
|
||||
| join -a1 -o1.1,2.1 - "$list_extras" \
|
||||
| sort -V \
|
||||
| grep '#' \
|
||||
| grep -v -e '-debuginfo#' -e '^kernel-image-domU-' \
|
||||
| (
|
||||
while read -r k j; do
|
||||
while read -r k; do
|
||||
pkg=${k%#*}
|
||||
flv=${pkg#kernel-image-}
|
||||
ev=${k#*#}
|
||||
@ -186,7 +183,8 @@ if [ -n "$list" ]; then
|
||||
ver=${ver%-*}
|
||||
ev=$epo$ver
|
||||
|
||||
[ -z "$extras" ] || [ -n "$j" ] && echo -n " " || echo -n " *"
|
||||
pkglist=$(apt-cache policy "$k" | grep -w 'pkglist$')
|
||||
[ -z "$pkglist" ] && echo -n " " || echo -n " *"
|
||||
echo -n " $pkg-$ver-$rel"
|
||||
if rpm -q "$pkg-$ver-$rel" >/dev/null 2>&1; then
|
||||
if [ "$def" = "$ver-$flv-$rel" ]; then
|
||||
@ -194,7 +192,7 @@ if [ -n "$list" ]; then
|
||||
else
|
||||
echo -n ' [installed]'
|
||||
fi
|
||||
elif [ -n "$extras" ] && [ -z "$j" ] && [ "$rflv" = "$flv" ]; then
|
||||
elif [ -n "$pkglist" ] && [ "$rflv" = "$flv" ]; then
|
||||
echo -n " <--- upgrade"
|
||||
fi
|
||||
[ "$rrel" = "$ver-$flv-$rel" ] && echo -n ' RUNNING'
|
||||
@ -224,10 +222,9 @@ if [ -n "$list" ]; then
|
||||
if [ $count -eq 0 ]; then
|
||||
echo "Nothing found."
|
||||
else
|
||||
[ -n "$extras" ] && echo "[*] Latest available in repo."
|
||||
echo "[*] Latest available in repo."
|
||||
fi
|
||||
)
|
||||
rm -f -- "$list_extras"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user