xenserver: Install kernel modules in proper system locations.
authorBen Pfaff <blp@nicira.com>
Thu, 27 Aug 2009 21:45:36 +0000 (14:45 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 11 Sep 2009 22:13:57 +0000 (15:13 -0700)
This gets rid of the last files in /root/vswitch.  With this change, the
Open vSwitch RPMs should now comply with FHS (http://www.pathname.com/fhs/).

xenserver/etc_init.d_vswitch
xenserver/vswitch-xen.spec

index a8907c2..8bb8e2a 100755 (executable)
@@ -87,10 +87,10 @@ function remove_all_dp {
 function insert_modules_if_required {
     if ! lsmod | grep -q "openvswitch_mod"; then
         action "Inserting llc module" modprobe llc
-        action "Inserting openvswitch module" insmod $VSWITCH_BASE/kernel_modules/openvswitch_mod.ko
+        action "Inserting openvswitch module" modprobe openvswitch_mod
     fi
     if [ -n "$BRCOMPATD_PIDFILE" ] && ! lsmod | grep -q "brcompat_mod"; then
-        action "Inserting brcompat module" insmod $VSWITCH_BASE/kernel_modules/brcompat_mod.ko
+        action "Inserting brcompat module" modprobe brcompat_mod
     fi
 }
 
index 7f1ed40..3132bb7 100644 (file)
@@ -83,8 +83,8 @@ install -m 644 \
         xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
                $RPM_BUILD_ROOT/usr/share/vswitch/scripts/XSFeatureVSwitch.py
 
-install -d -m 755 $RPM_BUILD_ROOT/root/vswitch/kernel_modules
-find datapath/linux-2.6 -name *.ko -exec install -m 755  \{\} $RPM_BUILD_ROOT/root/vswitch/kernel_modules/ \;
+install -d -m 755 $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/vswitch
+find datapath/linux-2.6 -name *.ko -exec install -m 755  \{\} $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/vswitch \;
 
 # Get rid of stuff we don't want to make RPM happy.
 rm \
@@ -100,7 +100,7 @@ rm \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-kill.8 \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-openflowd.8 \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8
-rm -f $RPM_BUILD_ROOT/root/vswitch/kernel_modules/veth_mod.ko 
+rm -f $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/vswitch/veth_mod.ko
 rm -r \
     $RPM_BUILD_ROOT/usr/share/openvswitch/commands
 
@@ -166,6 +166,9 @@ if test ! -e /var/lib/openvswitch/dbcache; then
     fi
 fi
 
+# Ensure that modprobe will find our modules.
+depmod %{xen_version}
+
 if grep -F net.ipv4.conf.all.arp_filter /etc/sysctl.conf >/dev/null 2>&1; then :; else
     cat >>/etc/sysctl.conf <<EOF
 # This works around an issue in xhad, which binds to a particular
@@ -297,8 +300,8 @@ fi
 /etc/xapi.d/plugins/vswitch-cfg-update
 /etc/logrotate.d/vswitch
 /etc/profile.d/vswitch.sh
-/root/vswitch/kernel_modules/brcompat_mod.ko
-/root/vswitch/kernel_modules/openvswitch_mod.ko
+/lib/modules/%{xen_version}/kernel/net/vswitch/openvswitch_mod.ko
+/lib/modules/%{xen_version}/kernel/net/vswitch/brcompat_mod.ko
 /usr/share/vswitch/scripts/dump-vif-details
 /usr/share/vswitch/scripts/interface-reconfigure
 /usr/share/vswitch/scripts/vif