Remove /proc/net compatibility support.
[openvswitch] / xenserver / openvswitch-xen.spec
index 2a33d5dcbf66887caa2095c717ba294f15a7ec31..de9b4439df2e5534be516c9c60fb027141ccf072 100644 (file)
@@ -1,6 +1,6 @@
 # Spec file for Open vSwitch.
 
 # Spec file for Open vSwitch.
 
-# Copyright (C) 2009, 2010 Nicira Networks, Inc.
+# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
@@ -73,16 +73,14 @@ install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py
 install -m 755 xenserver/etc_xensource_scripts_vif \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/vif
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py
 install -m 755 xenserver/etc_xensource_scripts_vif \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/vif
-install -m 755 xenserver/usr_share_openvswitch_scripts_ovs-external-ids \
-               $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-external-ids
-install -m 755 xenserver/usr_share_openvswitch_scripts_refresh-xs-network-uuids \
-               $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/refresh-xs-network-uuids
+install -m 755 xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync \
+               $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-xapi-sync
 install -m 755 xenserver/usr_sbin_xen-bugtool \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/xen-bugtool
 install -m 755 xenserver/usr_sbin_xen-bugtool \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/xen-bugtool
-install -m 755 xenserver/usr_sbin_brctl \
-             $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/brctl
 install -m 755 xenserver/usr_share_openvswitch_scripts_sysconfig.template \
          $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/sysconfig.template
 install -m 755 xenserver/usr_share_openvswitch_scripts_sysconfig.template \
          $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/sysconfig.template
+install -m 755 utilities/ovs-save \
+         $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-save
 install -d -m 755 $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base
 install -m 644 \
         xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
 install -d -m 755 $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base
 install -m 644 \
         xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
@@ -111,94 +109,26 @@ install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
 rm -rf $RPM_BUILD_ROOT
 
 %post
 rm -rf $RPM_BUILD_ROOT
 
 %post
-if [ ! -f /etc/xensource-inventory ]; then
-    printf "XenSource inventory not present in /etc/xensource-inventory"
-    exit 1
-fi
-. /etc/xensource-inventory
-
-if [ "$1" = "1" ]; then
-    if md5sum -c --status <<EOF
-ca141d60061dcfdade73e75abc6529b5  /usr/sbin/brctl
-b8e9835862ef1a9cec2a3f477d26c989  /etc/xensource/scripts/vif
-51970ad613a3996d5997e18e44db47da  /opt/xensource/libexec/interface-reconfigure
-5654c8c36699fcc8744ca9cd5b855414  /usr/sbin/xen-bugtool
-EOF
-    then
-        printf "\nVerified host scripts from XenServer 5.5.0.\n\n"
-    elif md5sum -c --status <<EOF
-ca141d60061dcfdade73e75abc6529b5  /usr/sbin/brctl
-b8e9835862ef1a9cec2a3f477d26c989  /etc/xensource/scripts/vif
-51970ad613a3996d5997e18e44db47da  /opt/xensource/libexec/interface-reconfigure
-f6519085c2fc5f7bc4eccc294ed62000  /usr/sbin/xen-bugtool
-EOF
-    then
-        printf "\nVerified host scripts from XenServer 5.5.0-24648p (Update 1)\n"
-        printf "or 5.5.0-25727p (Update 2).\n\n"
-    elif md5sum -c --status <<EOF
-ca141d60061dcfdade73e75abc6529b5  /usr/sbin/brctl
-02cf136237ed85fcbcc1efc15ce0591c  /opt/xensource/libexec/interface-reconfigure
-3a192ee70ebf2153c90051b3af95f331  /opt/xensource/libexec/InterfaceReconfigureBridge.py
-f71cadf1464caefa7943de0ab47fdd8a  /opt/xensource/libexec/InterfaceReconfigure.py
-d70f08f235fb1bfd49a0580e440f15a0  /opt/xensource/libexec/InterfaceReconfigureVswitch.py
-f5c85ca825b1e6f5a0845530981cd836  /etc/xensource/scripts/vif
-facb851606f82ca2bcc760a4d91bbe33  /usr/sbin/xen-bugtool
-EOF
-    then
-        printf "\nVerified host scripts from XenServer 5.5.900-29381p.\n\n"
-    else
-cat <<EOF
-
-The original XenServer scripts replaced by this package are not those
-of any supported version of XenServer.  This could lead to unexpected
-behavior of your server.  Unless you are sure you know what you are
-doing, it is highly recommended that you remove this package
-immediately after the install completes, which will restore the
-XenServer scripts that you were previously using.
-
-EOF
-    fi
-fi
-
-# On XenServer 5.5.0, we need refresh-xs-network-uuids to run whenever
-# XAPI starts or restarts.  (On XenServer 5.6.0, XAPI calls the
-# "update" method of the vswitch-cfg-update plugin whenever it starts
-# or restarts, so this is no longer necessary.)
-if test "$PRODUCT_VERSION" = "5.5.0"; then
-    RNU=/usr/share/openvswitch/scripts/refresh-xs-network-uuids
-    XSS=/opt/xensource/libexec/xapi-startup-script
-    if test -e $XSS && (test ! -L $XSS || test "`readlink $XSS`" != $RNU); then
-        echo "$XSS is already in use, refusing to overwrite"
-        exit 1
-    fi
-    rm -f $XSS
-    ln -s $RNU $XSS
-
-    # If /etc/xensource/network.conf doesn't exist (it was added in 5.6.0),
-    # then interface-reconfigure will be unhappy when we run it below.
-    if test ! -e /etc/xensource/network.conf; then
-        echo bridge > /etc/xensource/network.conf
-    fi
-fi
-
-
-if test ! -e /var/xapi/network.dbcache; then
-    if test "$1" = 1; then
-        printf "Creating xapi database cache...  "
-    else
-        printf "warning: Open vSwitch is being re-installed or upgraded,\n"
-        printf "         but the xapi database cache is missing.\n"
-        printf "Re-creating xapi database cache...  "
-    fi
+# Do not run the first block if we are in the XenServer installer
+if runlevel >/dev/null 2>&1; then
+    if test ! -e /var/xapi/network.dbcache; then
+        if test "$1" = 1; then
+            printf "Creating xapi database cache...  "
+        else
+            printf "warning: Open vSwitch is being re-installed or upgraded,\n"
+            printf "         but the xapi database cache is missing.\n"
+            printf "Re-creating xapi database cache...  "
+        fi
 
 
-    if /usr/share/openvswitch/scripts/interface-reconfigure rewrite; then
-        printf "done.\n"
-    else
-        printf "FAILED\n"
-        printf "Open vSwitch can only be installed on a XenServer that\n"
-        printf "has connectivity to xapi on the pool master.  Please\n"
-        printf "fix connectivity to the pool master, then try again.\n"
-        exit 1
+        if /usr/share/openvswitch/scripts/interface-reconfigure rewrite; then
+            printf "done.\n"
+        else
+            printf "FAILED\n"
+            printf "Open vSwitch can only be installed on a XenServer that\n"
+            printf "has connectivity to xapi on the pool master.  Please\n"
+            printf "fix connectivity to the pool master, then try again.\n"
+            exit 1
+        fi
     fi
 fi
 
     fi
 fi
 
@@ -257,8 +187,7 @@ for f in \
     /opt/xensource/libexec/InterfaceReconfigureBridge.py \
     /opt/xensource/libexec/InterfaceReconfigureVswitch.py \
     /etc/xensource/scripts/vif \
     /opt/xensource/libexec/InterfaceReconfigureBridge.py \
     /opt/xensource/libexec/InterfaceReconfigureVswitch.py \
     /etc/xensource/scripts/vif \
-    /usr/sbin/xen-bugtool \
-    /usr/sbin/brctl
+    /usr/sbin/xen-bugtool
 do
     s=$(basename "$f")
     t=$(readlink "$f")
 do
     s=$(basename "$f")
     t=$(readlink "$f")
@@ -303,12 +232,6 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
 
 %postun
 if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
-    . /etc/xensource-inventory
-    if test "$PRODUCT_VERSION" = "5.5.0"; then
-        XSS=/opt/xensource/libexec/xapi-startup-script
-        rm -f $XSS
-    fi
-
     rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \
         /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo
 
     rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \
         /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo
 
@@ -326,8 +249,7 @@ if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
         /opt/xensource/libexec/InterfaceReconfigureBridge.py \
         /opt/xensource/libexec/InterfaceReconfigureVswitch.py \
         /etc/xensource/scripts/vif \
         /opt/xensource/libexec/InterfaceReconfigureBridge.py \
         /opt/xensource/libexec/InterfaceReconfigureVswitch.py \
         /etc/xensource/scripts/vif \
-        /usr/sbin/xen-bugtool \
-        /usr/sbin/brctl
+        /usr/sbin/xen-bugtool
     do
         s=$(basename "$f")
         if [ ! -f "/usr/lib/openvswitch/xs-original/$s" ]; then
     do
         s=$(basename "$f")
         if [ ! -f "/usr/lib/openvswitch/xs-original/$s" ]; then
@@ -346,13 +268,8 @@ if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
     rm -f /etc/openvswitch/vswitchd.cacert
     rm -f /var/xapi/network.dbcache
 
     rm -f /etc/openvswitch/vswitchd.cacert
     rm -f /var/xapi/network.dbcache
 
-    if test "$PRODUCT_VERSION" != "5.5.0"; then
-        # Configure system to use bridge
-        echo bridge > /etc/xensource/network.conf
-    else
-        # Get rid of network.conf entirely, to make the system pristine.
-        rm -f /etc/xensource/network.conf
-    fi
+    # Configure system to use bridge
+    echo bridge > /etc/xensource/network.conf
 
     printf "\nYou MUST reboot the server now to complete the change to\n"
     printf "standard Xen networking.  Attempts to modify networking on the\n"
 
     printf "\nYou MUST reboot the server now to complete the change to\n"
     printf "standard Xen networking.  Attempts to modify networking on the\n"
@@ -369,7 +286,6 @@ fi
 /etc/logrotate.d/openvswitch
 /etc/profile.d/openvswitch.sh
 /lib/modules/%{xen_version}/kernel/extra/openvswitch/openvswitch_mod.ko
 /etc/logrotate.d/openvswitch
 /etc/profile.d/openvswitch.sh
 /lib/modules/%{xen_version}/kernel/extra/openvswitch/openvswitch_mod.ko
-/lib/modules/%{xen_version}/kernel/extra/openvswitch/brcompat_mod.ko
 /usr/share/openvswitch/python/ovs/__init__.py
 /usr/share/openvswitch/python/ovs/daemon.py
 /usr/share/openvswitch/python/ovs/db/__init__.py
 /usr/share/openvswitch/python/ovs/__init__.py
 /usr/share/openvswitch/python/ovs/daemon.py
 /usr/share/openvswitch/python/ovs/db/__init__.py
@@ -392,18 +308,16 @@ fi
 /usr/share/openvswitch/python/ovs/timeval.py
 /usr/share/openvswitch/python/ovs/util.py
 /usr/share/openvswitch/python/uuid.py
 /usr/share/openvswitch/python/ovs/timeval.py
 /usr/share/openvswitch/python/ovs/util.py
 /usr/share/openvswitch/python/uuid.py
-/usr/share/openvswitch/scripts/ovs-external-ids
-/usr/share/openvswitch/scripts/refresh-xs-network-uuids
+/usr/share/openvswitch/scripts/ovs-xapi-sync
 /usr/share/openvswitch/scripts/interface-reconfigure
 /usr/share/openvswitch/scripts/InterfaceReconfigure.py
 /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.py
 /usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py
 /usr/share/openvswitch/scripts/vif
 /usr/share/openvswitch/scripts/xen-bugtool
 /usr/share/openvswitch/scripts/interface-reconfigure
 /usr/share/openvswitch/scripts/InterfaceReconfigure.py
 /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.py
 /usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py
 /usr/share/openvswitch/scripts/vif
 /usr/share/openvswitch/scripts/xen-bugtool
-/usr/share/openvswitch/scripts/brctl
 /usr/share/openvswitch/scripts/sysconfig.template
 /usr/share/openvswitch/scripts/sysconfig.template
+/usr/share/openvswitch/scripts/ovs-save
 /usr/share/openvswitch/vswitch.ovsschema
 /usr/share/openvswitch/vswitch.ovsschema
-/usr/sbin/ovs-brcompatd
 /usr/sbin/ovs-vswitchd
 /usr/sbin/ovsdb-server
 /usr/bin/ovs-appctl
 /usr/sbin/ovs-vswitchd
 /usr/sbin/ovsdb-server
 /usr/bin/ovs-appctl
@@ -411,6 +325,7 @@ fi
 /usr/bin/ovs-ofctl
 /usr/bin/ovs-pcap
 /usr/bin/ovs-tcpundump
 /usr/bin/ovs-ofctl
 /usr/bin/ovs-pcap
 /usr/bin/ovs-tcpundump
+/usr/bin/ovs-vlan-test
 /usr/bin/ovs-vsctl
 /usr/bin/ovsdb-client
 /usr/bin/ovsdb-tool
 /usr/bin/ovs-vsctl
 /usr/bin/ovsdb-client
 /usr/bin/ovsdb-tool
@@ -420,16 +335,19 @@ fi
 /usr/share/man/man1/ovsdb-tool.1.gz
 /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
 /usr/share/man/man8/ovs-appctl.8.gz
 /usr/share/man/man1/ovsdb-tool.1.gz
 /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
 /usr/share/man/man8/ovs-appctl.8.gz
-/usr/share/man/man8/ovs-brcompatd.8.gz
 /usr/share/man/man8/ovs-dpctl.8.gz
 /usr/share/man/man8/ovs-ofctl.8.gz
 /usr/share/man/man8/ovs-parse-leaks.8.gz
 /usr/share/man/man1/ovs-pcap.1.gz
 /usr/share/man/man1/ovs-tcpundump.1.gz
 /usr/share/man/man8/ovs-dpctl.8.gz
 /usr/share/man/man8/ovs-ofctl.8.gz
 /usr/share/man/man8/ovs-parse-leaks.8.gz
 /usr/share/man/man1/ovs-pcap.1.gz
 /usr/share/man/man1/ovs-tcpundump.1.gz
+/usr/share/man/man8/ovs-vlan-test.8.gz
 /usr/share/man/man8/ovs-vsctl.8.gz
 /usr/share/man/man8/ovs-vswitchd.8.gz
 /var/lib/openvswitch
 /usr/share/man/man8/ovs-vsctl.8.gz
 /usr/share/man/man8/ovs-vswitchd.8.gz
 /var/lib/openvswitch
+%exclude /lib/modules/%{xen_version}/kernel/extra/openvswitch/brcompat_mod.ko
 %exclude /usr/lib/xsconsole/plugins-base/*.py[co]
 %exclude /usr/lib/xsconsole/plugins-base/*.py[co]
+%exclude /usr/sbin/ovs-brcompatd
+%exclude /usr/share/man/man8/ovs-brcompatd.8.gz
 %exclude /usr/share/openvswitch/scripts/*.py[co]
 %exclude /usr/share/openvswitch/python/*.py[co]
 %exclude /usr/share/openvswitch/python/ovs/*.py[co]
 %exclude /usr/share/openvswitch/scripts/*.py[co]
 %exclude /usr/share/openvswitch/python/*.py[co]
 %exclude /usr/share/openvswitch/python/ovs/*.py[co]