From: Justin Pettit Date: Tue, 6 Apr 2010 01:13:26 +0000 (-0700) Subject: xenserver: Don't install xsconsole plugin as symlink X-Git-Tag: v1.0.0~191 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=b31ac77a39f2d4ed9eb8740b2f1127d22fc3054d;p=sliver-openvswitch.git xenserver: Don't install xsconsole plugin as symlink The OVS xsconsole plugin used to be installed in /usr/share/openvswitch/scripts directory and then a symlink was created to the /usr/lib/xsconsole/plugins-base directory. The Citrix packaging of OVS just placed it directly into the xsconsole plugin directory. This worked fine until we renamed our package "openvswitch", which is the same as Citrix uses. On an upgrade, the default package handler would attempt to clean up files that were in the Cirix packaging, but not in the upgraded package. Since it didn't know that we had replaced their plugin with our symlink, it would destroy our symlink. This commit just places the plugin directly into the /usr/lib/xsconsole/plugins-base directory, which allows us to seamlessly upgrade to newer Open vSwitch versions. Bug #2608 --- diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec index 7b5e0228e..1d0c905df 100644 --- a/xenserver/openvswitch-xen.spec +++ b/xenserver/openvswitch-xen.spec @@ -81,9 +81,10 @@ 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 -d -m 755 $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base install -m 644 \ xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ - $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/XSFeatureVSwitch.py + $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py install -d -m 755 $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/openvswitch find datapath/linux-2.6 -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/openvswitch \; @@ -246,13 +247,6 @@ do fi done -# Install xsconsole plugin -plugin=$(readlink /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py) -if [ "$plugin" != "/usr/share/openvswitch/scripts/XSFeatureVSwitch.py" ]; then - rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py - ln -s /usr/share/openvswitch/scripts/XSFeatureVSwitch.py /usr/lib/xsconsole/plugins-base/ || printf "Could not link to Open vSwitch xsconsole plugin.\n" -fi - # Ensure all required services are set to run for s in openvswitch openvswitch-xapi-update; do if chkconfig --list $s >/dev/null 2>&1; then @@ -287,10 +281,8 @@ fi %postun if [ "$1" = "0" ]; then # $1 = 1 for upgrade - rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py \ - /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \ - /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo \ - || printf "Could not remove Open vSwitch xsconsole plugin.\n" + rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \ + /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo rm -f /usr/share/openvswitch/scripts/InterfaceReconfigure.pyc \ /usr/share/openvswitch/scripts/InterfaceReconfigure.pyo \ @@ -352,7 +344,6 @@ fi /usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py /usr/share/openvswitch/scripts/vif /usr/share/openvswitch/scripts/xen-bugtool -/usr/share/openvswitch/scripts/XSFeatureVSwitch.py /usr/share/openvswitch/scripts/brctl /usr/share/openvswitch/scripts/sysconfig.template /usr/share/openvswitch/vswitch.ovsschema @@ -365,6 +356,7 @@ fi /usr/bin/ovs-vsctl /usr/bin/ovsdb-client /usr/bin/ovsdb-tool +/usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py /usr/share/man/man1/ovsdb-client.1.gz /usr/share/man/man1/ovsdb-server.1.gz /usr/share/man/man1/ovsdb-tool.1.gz @@ -376,5 +368,7 @@ fi /usr/share/man/man8/ovs-vsctl.8.gz /usr/share/man/man8/ovs-vswitchd.8.gz /var/lib/openvswitch +%exclude /usr/lib/xsconsole/plugins-base/*.pyc +%exclude /usr/lib/xsconsole/plugins-base/*.pyo %exclude /usr/share/openvswitch/scripts/*.pyc %exclude /usr/share/openvswitch/scripts/*.pyo