From b31ac77a39f2d4ed9eb8740b2f1127d22fc3054d Mon Sep 17 00:00:00 2001 From: Justin Pettit Date: Mon, 5 Apr 2010 18:13:26 -0700 Subject: [PATCH] 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 --- xenserver/openvswitch-xen.spec | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec index 7b5e0228..1d0c905d 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 -- 2.30.2