#!/bin/sh
# Vitaly Lipatov <lav@etersoft.ru>, 2004
# Устанавливает самое новое ядро
# Обновляет уже установленные модули до версии
# для самого нового установленного ядра
echo "Update kernel with modules: Vitaly Lipatov <lav@etersoft.ru>, 2004"
#
TYPESYS=std-up

SUDO=sudo
if [ "$UID" == "0" ]
then
	SUDO=
fi
echo "Try to install newest kernel image"
LISTKER=`$SUDO apt-get install kernel-image-$TYPESYS -y | grep "\#" | grep -v "\["`
RES=$?
if [ ! "$RES" = "0" ]
then
	LISTKER=`echo $LISTKER | cut -d " " -f 1`
	echo "Install new kernel $LISTKER"
	$SUDO apt-get install $LISTKER -y
fi

echo "Check for newest kernel..."
NEWESTKERNEL=`rpm -qa kernel-image-${TYPESYS}* | sort | tail -n 1`
INSTVER=`rpm -q $NEWESTKERNEL --queryformat "%{VERSION}-$TYPESYS-%{RELEASE}"`
echo "Updates modules for kernel: $INSTVER ..."
ALLMODULES=`apt-cache pkgnames kernel-modules | sed -e "s/kernel-modules-//g" | sed -e "s/-.*$//g" | sort | uniq | grep -v kernel`
LISTFORUPDATE=""
for i in $ALLMODULES
do
    PKGNAME=kernel-modules-$i
    if rpm -q $PKGNAME-$TYPESYS >/dev/null
    then
	echo modules-$i is installed, updating...
	LISTFORUPDATE="$LISTFORUPDATE$PKGNAME-$INSTVER "
    fi
done
$SUDO apt-get install $LISTFORUPDATE -y
