RH6.X: Fix for LIS driver getting reverted to inbox driver when
kernel module package is installed This fix also address the LIS driver compatibility issue when errata kernel is updated/installed.
This commit is contained in:
Родитель
8b2a588d77
Коммит
ff3fafc245
|
@ -85,6 +85,7 @@ if [ $? -eq 0 ];then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $distro_version != "5"* ]]; then
|
if [[ $distro_version != "5"* ]]; then
|
||||||
|
export no_initramfs=1
|
||||||
latestkernel=(`rpm -q kernel | tail -n1 | cut -c 8-`)
|
latestkernel=(`rpm -q kernel | tail -n1 | cut -c 8-`)
|
||||||
runningkernel=(`uname -r`)
|
runningkernel=(`uname -r`)
|
||||||
if [ ${latestkernel} != ${runningkernel} ] ; then
|
if [ ${latestkernel} != ${runningkernel} ] ; then
|
||||||
|
|
|
@ -11,14 +11,14 @@ if [ ${#lisarr[@]} -gt 0 ]; then
|
||||||
echo "Uninstalling the Linux Integration Services for Microsoft Hyper-V..."
|
echo "Uninstalling the Linux Integration Services for Microsoft Hyper-V..."
|
||||||
rpm -e ${lisarr[@]}
|
rpm -e ${lisarr[@]}
|
||||||
exit=$?
|
exit=$?
|
||||||
if [ $exit -eq 0 ]; then
|
rm -f /etc/depmod.d/hyperv.conf.rpmsave
|
||||||
echo "Uninstalled Linux Integration Services for Microsoft Hyper-V. Please reboot your system."
|
if [ $exit -eq 0 ]; then
|
||||||
|
echo "Uninstalled Linux Integration Services for Microsoft Hyper-V. Please reboot your system."
|
||||||
else
|
else
|
||||||
echo "Uninstallation of Linux Integration Services for Microsoft Hyper-V failed , Exiting"
|
echo "Uninstallation of Linux Integration Services for Microsoft Hyper-V failed , Exiting"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "No LIS RPM's are present"
|
echo "No LIS RPM's are present"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,9 @@ export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
||||||
export INSTALL_MOD_DIR=extra/%{name}
|
export INSTALL_MOD_DIR=extra/%{name}
|
||||||
for flavor in %flavors_to_build; do
|
for flavor in %flavors_to_build; do
|
||||||
make -C %{kernel_source $flavor} M=$PWD/obj/$flavor modules_install
|
make -C %{kernel_source $flavor} M=$PWD/obj/$flavor modules_install
|
||||||
|
export KMOD_INSTALL_DIR="$INSTALL_MOD_PATH/lib/modules/%{latest_kernel}/$INSTALL_MOD_DIR"
|
||||||
|
export WEAK_UPDATE_DIR="weak-updates/%{name}"
|
||||||
|
find $KMOD_INSTALL_DIR -name "*.ko" -exec bash -c 'kmodn=`basename {} | cut -d'.' -f1`; printf "override %s %{kverrel} $WEAK_UPDATE_DIR\n" $kmodn' \; > source/hyperv.conf
|
||||||
done
|
done
|
||||||
install -d -m0755 $RPM_BUILD_ROOT/etc/udev/rules.d/
|
install -d -m0755 $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||||
install -m0644 source/100-balloon.rules $RPM_BUILD_ROOT/etc/udev/rules.d/
|
install -m0644 source/100-balloon.rules $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||||
|
@ -145,6 +148,13 @@ if [ ! `grep -q -E "6.0|6.1|6.2|6.3" /etc/*-release` ] ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
sed -i "s/%kverrel/$(uname -r)/g" -i /etc/depmod.d/hyperv.conf
|
||||||
|
# Update module dependency
|
||||||
|
if [ -e "/boot/System.map-$(uname -r)" ]; then
|
||||||
|
/sbin/depmod -aeF "/boot/System.map-$(uname -r)" "$(uname -r)" > /dev/null || :
|
||||||
|
else
|
||||||
|
/sbin/depmod -a
|
||||||
|
fi
|
||||||
|
|
||||||
# Update initrd
|
# Update initrd
|
||||||
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
||||||
|
@ -158,15 +168,10 @@ cp -f "initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
||||||
# If this is an upgrade, put new initrd into /tmp so postrans can
|
# If this is an upgrade, put new initrd into /tmp so postrans can
|
||||||
# copy it over to fix the fact that the postun from the previous package
|
# copy it over to fix the fact that the postun from the previous package
|
||||||
# version will overwrite the updated initrd.
|
# version will overwrite the updated initrd.
|
||||||
cp /etc/depmod.d/hyperv.conf /opt/files/
|
|
||||||
if [ $1 -eq 2 ]; then
|
if [ $1 -eq 2 ]; then
|
||||||
cp -f "initramfs-$(uname -r).img" /opt/files/"initramfs-$(uname -r).img"
|
cp -f "initramfs-$(uname -r).img" /opt/files/"initramfs-$(uname -r).img"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $1 -eq 1 ]; then
|
|
||||||
rm -rf /etc/depmod.d/hyperv.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
/sbin/chkconfig --add hv_kvp_daemon
|
/sbin/chkconfig --add hv_kvp_daemon
|
||||||
echo "Adding KVP Daemon to Chkconfig...."
|
echo "Adding KVP Daemon to Chkconfig...."
|
||||||
/etc/init.d/hv_kvp_daemon start >/dev/null
|
/etc/init.d/hv_kvp_daemon start >/dev/null
|
||||||
|
@ -209,8 +214,6 @@ else # package is being erased, not upgraded
|
||||||
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
||||||
cp -f "initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
cp -f "initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
||||||
rm -rf /opt/files/"initramfs-$(uname -r).img"
|
rm -rf /opt/files/"initramfs-$(uname -r).img"
|
||||||
cp /opt/files/hyperv.conf /etc/depmod.d/
|
|
||||||
rm -rf /opt/files/hyperv.conf
|
|
||||||
echo "Linux Integration Services for Hyper-V has been removed."
|
echo "Linux Integration Services for Hyper-V has been removed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -218,7 +221,6 @@ fi
|
||||||
if [ -e /opt/files/"initramfs-$(uname -r).img" ]; then #Recopying new initrd , as it got replaced because postun of old package
|
if [ -e /opt/files/"initramfs-$(uname -r).img" ]; then #Recopying new initrd , as it got replaced because postun of old package
|
||||||
cp -f /opt/files/"initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
cp -f /opt/files/"initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
||||||
echo "Upgrading RPMs Completed"
|
echo "Upgrading RPMs Completed"
|
||||||
rm -rf /etc/depmod.d/hyperv.conf
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
|
|
@ -117,7 +117,7 @@ for flavor in %flavors_to_build; do
|
||||||
fi
|
fi
|
||||||
export KMOD_INSTALL_DIR="$INSTALL_MOD_PATH/lib/modules/%{latest_kernel}/$INSTALL_MOD_DIR"
|
export KMOD_INSTALL_DIR="$INSTALL_MOD_PATH/lib/modules/%{latest_kernel}/$INSTALL_MOD_DIR"
|
||||||
export WEAK_UPDATE_DIR="weak-updates/%{name}"
|
export WEAK_UPDATE_DIR="weak-updates/%{name}"
|
||||||
find $KMOD_INSTALL_DIR -name "*.ko" -exec bash -c 'kmodn=`basename {} | cut -d'.' -f1`; printf "override %s * $WEAK_UPDATE_DIR\n" $kmodn' \; > source/hyperv.conf
|
find $KMOD_INSTALL_DIR -name "*.ko" -exec bash -c 'kmodn=`basename {} | cut -d'.' -f1`; printf "override %s %{kverrel} $WEAK_UPDATE_DIR\n" $kmodn' \; > source/hyperv.conf
|
||||||
done
|
done
|
||||||
install -d -m0755 $RPM_BUILD_ROOT/etc/udev/rules.d/
|
install -d -m0755 $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||||
install -m0644 source/100-balloon.rules $RPM_BUILD_ROOT/etc/udev/rules.d/
|
install -m0644 source/100-balloon.rules $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||||
|
@ -189,6 +189,13 @@ if [ $1 -eq 2 ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
%post
|
%post
|
||||||
|
sed -i "s/%kverrel/$(uname -r)/g" -i /etc/depmod.d/hyperv.conf
|
||||||
|
# Update module dependency
|
||||||
|
if [ -e "/boot/System.map-$(uname -r)" ]; then
|
||||||
|
/usr/sbin/depmod -aeF "/boot/System.map-$(uname -r)" "$(uname -r)" > /dev/null || :
|
||||||
|
else
|
||||||
|
/usr/sbin/depmod -a
|
||||||
|
fi
|
||||||
|
|
||||||
# Update initrd
|
# Update initrd
|
||||||
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
||||||
|
@ -202,16 +209,11 @@ cp -f "initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
||||||
# If this is an upgrade, put new initrd into /tmp so postrans can
|
# If this is an upgrade, put new initrd into /tmp so postrans can
|
||||||
# copy it over to fix the fact that the postun from the previous package
|
# copy it over to fix the fact that the postun from the previous package
|
||||||
# version will overwrite the updated initrd.
|
# version will overwrite the updated initrd.
|
||||||
cp /etc/depmod.d/hyperv.conf /opt/files/
|
|
||||||
|
|
||||||
if [ $1 -eq 2 ]; then
|
if [ $1 -eq 2 ]; then
|
||||||
cp -f "initramfs-$(uname -r).img" /opt/files/"initramfs-$(uname -r).img"
|
cp -f "initramfs-$(uname -r).img" /opt/files/"initramfs-$(uname -r).img"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $1 -eq 1 ]; then
|
|
||||||
rm -rf /etc/depmod.d/hyperv.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Starting KVP Daemon...."
|
echo "Starting KVP Daemon...."
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable hv_kvp_daemon.service > /dev/null 2>&1
|
systemctl enable hv_kvp_daemon.service > /dev/null 2>&1
|
||||||
|
@ -246,8 +248,6 @@ else # package is being erased, not upgraded
|
||||||
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
dracut --force "initramfs-$(uname -r).img" $(uname -r)
|
||||||
cp -f "initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
cp -f "initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
||||||
rm -rf /opt/files/"initramfs-$(uname -r).img"
|
rm -rf /opt/files/"initramfs-$(uname -r).img"
|
||||||
cp /opt/files/hyperv.conf /etc/depmod.d/
|
|
||||||
rm -rf /opt/files/hyperv.conf
|
|
||||||
echo "Linux Integration Services for Hyper-V has been removed."
|
echo "Linux Integration Services for Hyper-V has been removed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -255,7 +255,6 @@ fi
|
||||||
if [ -e /opt/files/"initramfs-$(uname -r).img" ]; then #Recopying new initrd , as it got replaced because postun of old package
|
if [ -e /opt/files/"initramfs-$(uname -r).img" ]; then #Recopying new initrd , as it got replaced because postun of old package
|
||||||
cp -f /opt/files/"initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
cp -f /opt/files/"initramfs-$(uname -r).img" /boot/"initramfs-$(uname -r).img"
|
||||||
echo "Upgrading RPMs Completed"
|
echo "Upgrading RPMs Completed"
|
||||||
rm -rf /etc/depmod.d/hyperv.conf
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e /etc/modprobe.d/hyperv_pvdrivers.conf ] ; then
|
if [ -e /etc/modprobe.d/hyperv_pvdrivers.conf ] ; then
|
||||||
|
|
Загрузка…
Ссылка в новой задаче