Add post install and post un-install scripts to make sure that the openvswitch kernel modules are correctly written with the weak-modules utility. This ensures that after an upgrade to a newer kernel the correct openvswitch kernel modules from a previous installation will be found by the depmod search path.
Suggested-by: Flavio Leitner <[email protected]> Signed-off-by: Greg Rose <[email protected]> --- rhel/openvswitch.spec.in | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in index e510d35..44cd611 100644 --- a/rhel/openvswitch.spec.in +++ b/rhel/openvswitch.spec.in @@ -165,6 +165,17 @@ else done fi +%post kmod-%{kverrel} +for k in $(cd /lib/modules && /bin/ls); do + [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" +done +if [ -x "/sbin/weak-modules" ]; then + for m in openvswitch vport-gre vport-stt vport-geneve \ + vport-lisp vport-vxlan; do + echo "/lib/modules/%{kernel}/extra/$m.ko" + done | /sbin/weak-modules --add-modules +fi + # Ensure all required services are set to run /sbin/chkconfig --add openvswitch /sbin/chkconfig openvswitch on @@ -185,6 +196,19 @@ if [ "$1" = "0" ]; then # $1 = 0 for uninstall rm -f /etc/openvswitch/vswitchd.cacert fi +%postun kmod-%{kverrel} +for k in $(cd /lib/modules && /bin/ls); do + [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" +done +if [ "$1" = 0 ]; then # Erase, not upgrade + if [ -x "/sbin/weak-modules" ]; then + for m in openvswitch vport-gre vport-stt vport-geneve \ + vport-lisp vport-vxlan; do + echo "/lib/modules/%{kernel}/extra/$m.ko" + done | /sbin/weak-modules --remove-modules + fi +fi + %postun selinux-policy if [ $1 -eq 0 ] ; then /usr/sbin/semodule -r openvswitch-custom &> /dev/null || : -- 1.8.3.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
