]>
Commit | Line | Data |
---|---|---|
7b007006 BP |
1 | # Spec file for Open vSwitch. |
2 | ||
e7529141 | 3 | # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira, Inc. |
7b007006 BP |
4 | # |
5 | # Copying and distribution of this file, with or without modification, | |
6 | # are permitted in any medium without royalty provided the copyright | |
7 | # notice and this notice are preserved. This file is offered as-is, | |
8 | # without warranty of any kind. | |
9 | ||
5748c7e9 EC |
10 | # For XenServer version < 6.5, when building, the rpmbuild command line |
11 | # should define openvswitch_version, kernel_name, kernel_version and | |
12 | # kernel_flavor using -D arguments. | |
7b007006 BP |
13 | # for example: |
14 | # | |
15 | # rpmbuild -D "openvswitch_version 1.1.0+build123" | |
16 | # -D "kernel_name NAME-xen" | |
17 | # -D "kernel_version 2.6.32.12-0.7.1.xs5.6.100.323.170596" | |
18 | # -D "kernel_flavor xen" | |
7b007006 | 19 | # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec |
329cf232 | 20 | # |
2c3f6a74 EC |
21 | # For XenServer version >= 6.5, use kernel_uname which should be |
22 | # the `uname -r` output. | |
5748c7e9 EC |
23 | # for example: |
24 | # | |
25 | # rpmbuild -D "openvswitch_version 2.3.0+build123" | |
2c3f6a74 | 26 | # -D "kernel_uname 3.10.0+2" |
5748c7e9 EC |
27 | # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec |
28 | # | |
329cf232 GS |
29 | # If tests have to be skipped while building, specify the '--without check' |
30 | # option. For example: | |
31 | # rpmbuild -bb --without check xenserver/openvswitch-xen.spec | |
7b007006 BP |
32 | |
33 | %if %{?openvswitch_version:0}%{!?openvswitch_version:1} | |
34 | %define openvswitch_version @VERSION@ | |
35 | %endif | |
36 | ||
2c3f6a74 EC |
37 | %if %{?kernel_uname:1}%{!?kernel_uname:0} |
38 | %define kernel_name kernel | |
39 | %define kernel_version %{kernel_uname} | |
40 | %endif | |
41 | ||
7b007006 BP |
42 | %if %{?kernel_name:0}%{!?kernel_name:1} |
43 | %define kernel %(rpm -qa 'kernel*xen-devel' | head -1) | |
44 | %define kernel_name %(rpm -q --queryformat "%%{Name}" %{kernel} | sed 's/-devel//' | sed 's/kernel-//') | |
45 | %define kernel_version %(rpm -q --queryformat "%%{Version}-%%{Release}" %{kernel}) | |
46 | %define kernel_flavor xen | |
47 | %endif | |
48 | ||
5748c7e9 | 49 | %if %{?xen_version:0}%{!?xen_version:1} |
2c3f6a74 | 50 | %define xen_version %{kernel_version}%{?kernel_flavor:%{kernel_flavor}} |
5748c7e9 | 51 | %endif |
7b007006 BP |
52 | |
53 | # bump this when breaking compatibility with userspace | |
54 | %define module_abi_version 0 | |
55 | ||
56 | # build-supplemental-pack.sh requires this naming for kernel module packages | |
5748c7e9 | 57 | %define module_package modules%{?kernel_flavor:-%{kernel_flavor}}-%{kernel_version} |
7b007006 | 58 | |
329cf232 GS |
59 | %bcond_without check |
60 | ||
7b007006 BP |
61 | Name: openvswitch |
62 | Summary: Open vSwitch daemon/database/utilities | |
63 | Group: System Environment/Daemons | |
64 | URL: http://www.openvswitch.org/ | |
e0edde6f | 65 | Vendor: Nicira, Inc. |
7b007006 BP |
66 | Version: %{openvswitch_version} |
67 | ||
68 | License: ASL 2.0 | |
69 | Release: 1 | |
70 | Source: openvswitch-%{openvswitch_version}.tar.gz | |
71 | Buildroot: /tmp/openvswitch-xen-rpm | |
9b80f761 | 72 | Requires: openvswitch.ko.%{module_abi_version} |
7b007006 BP |
73 | |
74 | %description | |
75 | Open vSwitch provides standard network bridging functions augmented with | |
76 | support for the OpenFlow protocol for remote per-flow control of | |
77 | traffic. | |
78 | ||
79 | %package %{module_package} | |
80 | Summary: Open vSwitch kernel module | |
81 | Group: System Environment/Kernel | |
82 | License: GPLv2 | |
5748c7e9 | 83 | Provides: %{name}-modules%{?kernel_flavor:-%{kernel_flavor}} = %{kernel_version}, openvswitch.ko.%{module_abi_version} |
2c3f6a74 | 84 | %if %{?kernel_uname:0}%{!?kernel_uname:1} |
5748c7e9 | 85 | Requires: kernel%{?kernel_flavor:-%{kernel_flavor}} = %{kernel_version} |
2c3f6a74 EC |
86 | %endif |
87 | %if %{?kernel_uname:1}%{!?kernel_uname:0} | |
88 | Requires: kernel-uname-r = %{kernel_version} | |
89 | %endif | |
7b007006 BP |
90 | |
91 | %description %{module_package} | |
92 | Open vSwitch Linux kernel module compiled against kernel version | |
5748c7e9 | 93 | %{kernel_version}%{?kernel_flavor:%{kernel_flavor}}. |
7b007006 BP |
94 | |
95 | %prep | |
96 | %setup -q -n openvswitch-%{openvswitch_version} | |
97 | ||
98 | %build | |
4f0b577e | 99 | ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --with-linux=/lib/modules/%{xen_version}/build --enable-ssl CFLAGS='-g -O2 -msse -msse2' |
7b007006 BP |
100 | make %{_smp_mflags} |
101 | ||
102 | %install | |
103 | rm -rf $RPM_BUILD_ROOT | |
104 | make install DESTDIR=$RPM_BUILD_ROOT | |
105 | install -d -m 755 $RPM_BUILD_ROOT/etc | |
106 | install -d -m 755 $RPM_BUILD_ROOT/etc/init.d | |
107 | install -m 755 xenserver/etc_init.d_openvswitch \ | |
108 | $RPM_BUILD_ROOT/etc/init.d/openvswitch | |
109 | install -m 755 xenserver/etc_init.d_openvswitch-xapi-update \ | |
110 | $RPM_BUILD_ROOT/etc/init.d/openvswitch-xapi-update | |
111 | install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig | |
112 | install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d | |
113 | install -m 755 xenserver/etc_logrotate.d_openvswitch \ | |
114 | $RPM_BUILD_ROOT/etc/logrotate.d/openvswitch | |
115 | install -d -m 755 $RPM_BUILD_ROOT/etc/profile.d | |
116 | install -m 755 xenserver/etc_profile.d_openvswitch.sh \ | |
117 | $RPM_BUILD_ROOT/etc/profile.d/openvswitch.sh | |
118 | install -d -m 755 $RPM_BUILD_ROOT/etc/xapi.d/plugins | |
119 | install -m 755 xenserver/etc_xapi.d_plugins_openvswitch-cfg-update \ | |
120 | $RPM_BUILD_ROOT/etc/xapi.d/plugins/openvswitch-cfg-update | |
121 | install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts | |
122 | install -m 755 xenserver/opt_xensource_libexec_interface-reconfigure \ | |
123 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/interface-reconfigure | |
124 | install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigure.py \ | |
125 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/InterfaceReconfigure.py | |
126 | install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py \ | |
127 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/InterfaceReconfigureBridge.py | |
128 | install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py \ | |
129 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py | |
130 | install -m 755 xenserver/etc_xensource_scripts_vif \ | |
131 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/vif | |
132 | install -m 755 xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync \ | |
133 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-xapi-sync | |
134 | install -m 755 xenserver/usr_share_openvswitch_scripts_sysconfig.template \ | |
135 | $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/sysconfig.template | |
136 | install -d -m 755 $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base | |
137 | install -m 644 \ | |
138 | xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ | |
139 | $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py | |
140 | ||
141 | install -d -m 755 $RPM_BUILD_ROOT/lib/modules/%{xen_version}/extra/openvswitch | |
142 | find datapath/linux -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT/lib/modules/%{xen_version}/extra/openvswitch \; | |
7b007006 BP |
143 | |
144 | install -d -m 755 $RPM_BUILD_ROOT/etc/xensource/bugtool | |
31f4bd47 | 145 | cp -rf $RPM_BUILD_ROOT/usr/share/openvswitch/bugtool-plugins/* $RPM_BUILD_ROOT/etc/xensource/bugtool |
7b007006 BP |
146 | |
147 | # Get rid of stuff we don't want to make RPM happy. | |
148 | rm \ | |
0bc1b46a | 149 | $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \ |
2d8bdd8f | 150 | $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \ |
7b007006 BP |
151 | $RPM_BUILD_ROOT/usr/bin/ovs-pki \ |
152 | $RPM_BUILD_ROOT/usr/bin/ovs-test \ | |
0bc1b46a | 153 | $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \ |
bce821a5 | 154 | $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \ |
2d8bdd8f AA |
155 | $RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8 \ |
156 | $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 | |
092976d0 | 157 | (cd "$RPM_BUILD_ROOT" && rm -f usr/lib/lib*) |
faebf930 AW |
158 | (cd "$RPM_BUILD_ROOT" && rm -rf usr/include) |
159 | (cd "$RPM_BUILD_ROOT" && rm -rf usr/lib/pkgconfig) | |
7b007006 BP |
160 | |
161 | install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch | |
162 | ||
329cf232 GS |
163 | %check |
164 | %if %{with check} | |
0d3f2152 | 165 | if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :; |
329cf232 GS |
166 | else |
167 | cat tests/testsuite.log | |
168 | exit 1 | |
169 | fi | |
170 | %endif | |
171 | ||
7b007006 BP |
172 | %clean |
173 | rm -rf $RPM_BUILD_ROOT | |
174 | ||
175 | %post | |
176 | # A list of Citrix XenServer scripts that we might need to replace | |
177 | # with our own versions. | |
178 | scripts=" | |
179 | /etc/xensource/scripts/vif | |
180 | /opt/xensource/libexec/InterfaceReconfigure.py | |
181 | /opt/xensource/libexec/InterfaceReconfigureBridge.py | |
182 | /opt/xensource/libexec/InterfaceReconfigureVswitch.py | |
183 | /opt/xensource/libexec/interface-reconfigure" | |
184 | ||
185 | # Calculate into $md5sums a comma-separated set of md5sums of the | |
186 | # Citrix XenServer scripts that we might need to replace. We might be | |
187 | # upgrading an older version of the package that moved the files out | |
188 | # of the way, so we need to look for the files in those out-of-the-way | |
189 | # locations first. | |
190 | md5sums= | |
191 | for script in $scripts; do | |
192 | b=$(basename "$script") | |
193 | if test -e /usr/lib/openvswitch/xs-saved/"$b"; then | |
194 | f=/usr/lib/openvswitch/xs-saved/"$b" | |
195 | elif test -e /usr/lib/openvswitch/xs-original/"$b"; then | |
196 | f=/usr/lib/openvswitch/xs-original/"$b" | |
197 | elif test -e "$script" && test ! -h "$script"; then | |
198 | f=$script | |
199 | else | |
200 | printf "\n$script: not found\n" | |
201 | f=/dev/null | |
202 | fi | |
203 | md5sums="$md5sums,$(md5sum $f | awk '{print $1}')" | |
204 | done | |
205 | md5sums=${md5sums#,} | |
206 | ||
207 | # Now check the md5sums against the known sets of md5sums: | |
208 | # | |
209 | # - If they are known to be a version of XenServer scripts that we should | |
210 | # replace, we replace them (by putting $scripts into $replace_files). | |
211 | # | |
212 | # - Otherwise, we guess that it's better not to replace them, because the | |
213 | # improvements that our versions of the scripts provide are minimal, so | |
214 | # it's better to avoid possibly breaking any changes made upstream by | |
215 | # Citrix. | |
216 | case $md5sums in | |
217 | cf09a68d9f8b434e79a4c83b01a3bb4b,395866df1b0b20c12c4dd2f7de0ecdb4,9d493545ae81463239d3162cbc798852,862d0939b441de9264a900628e950fe9,21f85db25599d7f026cd489385d58aa6) | |
218 | keep_files= | |
219 | replace_files=$scripts | |
220 | printf "\nVerified host scripts from XenServer 6.0.0.\n" | |
221 | ;; | |
0d6fc641 BP |
222 | |
223 | c5f48246577a17cf1b971fb5ce4e920b,2e2c912f86f9c536c89adc34ff3c2b2b,28d3ff72d72bdec4f37d70699f5edb76,67e1d0af16fc1ddf10009c5c063ad2ba,f3feff30aa3b3f8b514664a96a8dc0ab) | |
224 | keep_files= | |
225 | replace_files=$scripts | |
226 | printf "\nVerified host scripts from XenServer 5.6-SP2.\n" | |
227 | ;; | |
7b007006 BP |
228 | |
229 | c5f48246577a17cf1b971fb5ce4e920b,2e2c912f86f9c536c89adc34ff3c2b2b,28d3ff72d72bdec4f37d70699f5edb76,67e1d0af16fc1ddf10009c5c063ad2ba,24bae6906d182ba47668174f8e480cc6) | |
230 | keep_files= | |
231 | replace_files=$scripts | |
232 | printf "\nVerified host scripts from XenServer 5.6-FP1.\n" | |
233 | ;; | |
234 | ||
235 | *) | |
236 | keep_files=$scripts | |
237 | replace_files= | |
238 | cat <<EOF | |
239 | ||
240 | The host scripts on this machine are not those of any supported | |
241 | version of XenServer. On XenServer earlier than 5.6-FP1, your Open | |
242 | vSwitch installation will not work. On XenServer 5.6-FP1 or later, | |
243 | Open vSwitch is not verified to work, which could lead to unexpected | |
244 | behavior. | |
245 | ||
246 | EOF | |
247 | ;; | |
248 | esac | |
249 | ||
250 | if grep -F net.ipv4.conf.all.arp_filter /etc/sysctl.conf >/dev/null 2>&1; then :; else | |
251 | cat >>/etc/sysctl.conf <<EOF | |
252 | # This works around an issue in xhad, which binds to a particular | |
253 | # Ethernet device, which in turn causes ICMP port unreachable messages | |
254 | # if packets are received are on the wrong interface, which in turn | |
255 | # can happen if we send out ARP replies on every interface (as Linux | |
256 | # does by default) instead of just on the interface that has the IP | |
257 | # address being ARPed for, which this sysctl setting in turn works | |
258 | # around. | |
259 | # | |
260 | # Bug #1378. | |
261 | net.ipv4.conf.all.arp_filter = 1 | |
262 | EOF | |
263 | fi | |
264 | ||
265 | if test ! -e /etc/openvswitch/conf.db; then | |
266 | install -d -m 755 -o root -g root /etc/openvswitch | |
267 | ||
268 | # Create ovs-vswitchd config database | |
ea523221 | 269 | ovsdb-tool -vconsole:off create /etc/openvswitch/conf.db \ |
7b007006 BP |
270 | /usr/share/openvswitch/vswitch.ovsschema |
271 | ||
272 | # Create initial table in config database | |
ea523221 | 273 | ovsdb-tool -vconsole:off transact /etc/openvswitch/conf.db \ |
7b007006 BP |
274 | '[{"op": "insert", "table": "Open_vSwitch", "row": {}}]' \ |
275 | > /dev/null | |
276 | fi | |
277 | ||
278 | # Create default or update existing /etc/sysconfig/openvswitch. | |
279 | SYSCONFIG=/etc/sysconfig/openvswitch | |
280 | TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template | |
281 | if [ ! -e $SYSCONFIG ]; then | |
282 | cp $TEMPLATE $SYSCONFIG | |
283 | else | |
284 | for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE) | |
285 | do | |
286 | if ! grep $var $SYSCONFIG >/dev/null 2>&1; then | |
287 | echo >> $SYSCONFIG | |
288 | sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG | |
289 | fi | |
290 | done | |
291 | fi | |
292 | ||
293 | # Deliberately break %postun in broken OVS builds that revert original | |
294 | # XenServer scripts during rpm -U by moving the directory where it thinks | |
295 | # they are saved. | |
296 | if [ -d /usr/lib/openvswitch/xs-original ]; then | |
297 | mkdir -p /usr/lib/openvswitch/xs-saved | |
298 | mv /usr/lib/openvswitch/xs-original/* /usr/lib/openvswitch/xs-saved/ && | |
299 | rmdir /usr/lib/openvswitch/xs-original | |
300 | fi | |
301 | ||
302 | # Replace XenServer files by our versions. | |
303 | mkdir -p /usr/lib/openvswitch/xs-saved \ | |
304 | || printf "Could not create script backup directory.\n" | |
305 | for f in $replace_files; do | |
306 | s=$(basename "$f") | |
307 | t=$(readlink "$f") | |
308 | if [ -f "$f" ] && [ "$t" != "/usr/share/openvswitch/scripts/$s" ]; then | |
309 | mv "$f" /usr/lib/openvswitch/xs-saved/ \ | |
310 | || printf "Could not save original XenServer $s script\n" | |
311 | ln -s "/usr/share/openvswitch/scripts/$s" "$f" \ | |
312 | || printf "Could not link to Open vSwitch $s script\n" | |
313 | fi | |
314 | done | |
315 | ||
316 | # Clean up dangling symlinks to removed OVS replacement scripts no longer | |
317 | # provided by OVS. Any time a replacement script is removed from OVS, | |
318 | # it should be added here to ensure correct reversion from old versions of | |
319 | # OVS that don't clean up dangling symlinks during the uninstall phase. | |
5ca1ba48 | 320 | for orig in /usr/sbin/xen-bugtool $keep_files; do |
7b007006 BP |
321 | saved=/usr/lib/openvswitch/xs-saved/$(basename "$orig") |
322 | [ -e "$saved" ] && mv -f "$saved" "$orig" | |
323 | done | |
324 | ||
325 | # Ensure all required services are set to run | |
326 | for s in openvswitch openvswitch-xapi-update; do | |
327 | if chkconfig --list $s >/dev/null 2>&1; then | |
43d36678 | 328 | chkconfig --del $s || printf "Could not remove $s init script.\n" |
7b007006 | 329 | fi |
43d36678 GS |
330 | chkconfig --add $s || printf "Could not add $s init script.\n" |
331 | chkconfig $s on || printf "Could not enable $s init script.\n" | |
7b007006 BP |
332 | done |
333 | ||
334 | if [ "$1" = "1" ]; then # $1 = 1 for install | |
335 | # Configure system to use Open vSwitch | |
336 | /opt/xensource/bin/xe-switch-network-backend vswitch | |
337 | else # $1 = 2 for upgrade | |
338 | ||
339 | mode=$(cat /etc/xensource/network.conf) | |
340 | if [ "$mode" != "vswitch" ] && [ "$mode" != "openvswitch" ]; then | |
341 | printf "\nThe server is not configured to run Open vSwitch. To run in\n" | |
342 | printf "vswitch mode, you must run the following command:\n\n" | |
343 | printf "\txe-switch-network-backend vswitch" | |
43d36678 | 344 | printf "\n\n" |
7b007006 | 345 | fi |
7b007006 BP |
346 | fi |
347 | ||
348 | %posttrans %{module_package} | |
349 | # Ensure that modprobe will find our modules. | |
350 | # | |
351 | # This has to be in %posttrans instead of %post because older versions | |
352 | # installed modules into a different directory and "rpm -U" runs the | |
353 | # new version's %post before removing the old version's files, so if | |
354 | # we use %post then depmod may find the old versions that are about to | |
355 | # be removed. | |
356 | depmod %{xen_version} | |
357 | ||
43d36678 GS |
358 | mode=$(cat /etc/xensource/network.conf) |
359 | if [ "$mode" = "vswitch" ] || [ "$mode" = "openvswitch" ]; then | |
360 | printf "\nTo use the newly installed Open vSwitch kernel module, you\n" | |
361 | printf "will either have to reboot the hypervisor or follow any\n" | |
362 | printf "workarounds provided by your administration guide. Failure to do\n" | |
363 | printf "so may result in incorrect operation." | |
364 | printf "\n\n" | |
365 | fi | |
366 | ||
7b007006 BP |
367 | %preun |
368 | if [ "$1" = "0" ]; then # $1 = 0 for uninstall | |
369 | # Configure system to use bridge | |
370 | /opt/xensource/bin/xe-switch-network-backend bridge | |
371 | ||
372 | # The "openvswitch" service should have been removed from | |
373 | # "xe-switch-network-backend bridge". | |
374 | for s in openvswitch openvswitch-xapi-update; do | |
375 | if chkconfig --list $s >/dev/null 2>&1; then | |
376 | chkconfig --del $s || printf "Could not remove $s init script." | |
377 | fi | |
378 | done | |
379 | fi | |
380 | ||
381 | %postun | |
382 | # Restore original XenServer scripts if the OVS equivalent no longer exists. | |
383 | # This works both in the upgrade and erase cases. | |
384 | # This lists every file that every version of OVS has ever replaced. Never | |
385 | # remove old files that OVS no longer replaces, or upgrades from old versions | |
386 | # will fail to restore the XS originals, leaving the system in a broken state. | |
387 | # Also be sure to add removed script paths to the %post scriptlet above to | |
388 | # prevent the same problem when upgrading from old versions of OVS that lack | |
389 | # this restore-on-upgrade logic. | |
390 | for f in \ | |
391 | /etc/xensource/scripts/vif \ | |
7b007006 BP |
392 | /usr/sbin/xen-bugtool \ |
393 | /opt/xensource/libexec/interface-reconfigure \ | |
394 | /opt/xensource/libexec/InterfaceReconfigure.py \ | |
395 | /opt/xensource/libexec/InterfaceReconfigureBridge.py \ | |
396 | /opt/xensource/libexec/InterfaceReconfigureVswitch.py | |
397 | do | |
398 | # Only revert dangling symlinks. | |
399 | if [ -h "$f" ] && [ ! -e "$f" ]; then | |
400 | s=$(basename "$f") | |
401 | if [ ! -f "/usr/lib/openvswitch/xs-saved/$s" ]; then | |
402 | printf "Original XenServer $s script not present in /usr/lib/openvswitch/xs-saved\n" >&2 | |
403 | printf "Could not restore original XenServer script.\n" >&2 | |
404 | else | |
405 | (rm -f "$f" \ | |
406 | && mv "/usr/lib/openvswitch/xs-saved/$s" "$f") \ | |
407 | || printf "Could not restore original XenServer $s script.\n" >&2 | |
408 | fi | |
409 | fi | |
410 | done | |
411 | ||
412 | if [ "$1" = "0" ]; then # $1 = 0 for uninstall | |
413 | rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \ | |
414 | /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo | |
415 | ||
416 | rm -f /usr/share/openvswitch/scripts/InterfaceReconfigure.pyc \ | |
417 | /usr/share/openvswitch/scripts/InterfaceReconfigure.pyo \ | |
418 | /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.pyc \ | |
419 | /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.pyo \ | |
420 | /usr/share/openvswitch/scripts/InterfaceReconfigureVSwitch.pyc \ | |
421 | /usr/share/openvswitch/scripts/InterfaceReconfigureVSwitch.pyo | |
422 | ||
423 | # Remove all configuration files | |
424 | rm -f /etc/openvswitch/conf.db | |
425 | rm -f /etc/sysconfig/openvswitch | |
426 | rm -f /etc/openvswitch/vswitchd.cacert | |
427 | ||
428 | # Remove saved XenServer scripts directory, but only if it's empty | |
429 | rmdir -p /usr/lib/openvswitch/xs-saved 2>/dev/null | |
430 | fi | |
431 | ||
432 | exit 0 | |
433 | ||
434 | %files | |
435 | %defattr(-,root,root) | |
2c9907cd AW |
436 | /etc/bash_completion.d/ovs-appctl-bashcomp.bash |
437 | /etc/bash_completion.d/ovs-vsctl-bashcomp.bash | |
7b007006 BP |
438 | /etc/init.d/openvswitch |
439 | /etc/init.d/openvswitch-xapi-update | |
440 | /etc/xapi.d/plugins/openvswitch-cfg-update | |
441 | /etc/xensource/bugtool/* | |
442 | /etc/logrotate.d/openvswitch | |
443 | /etc/profile.d/openvswitch.sh | |
444 | /usr/share/openvswitch/python/ | |
31f4bd47 | 445 | /usr/share/openvswitch/bugtool-plugins/* |
2dc7590d | 446 | /usr/share/openvswitch/scripts/ovs-check-dead-ifs |
7b007006 BP |
447 | /usr/share/openvswitch/scripts/ovs-xapi-sync |
448 | /usr/share/openvswitch/scripts/interface-reconfigure | |
449 | /usr/share/openvswitch/scripts/InterfaceReconfigure.py | |
450 | /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.py | |
451 | /usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py | |
452 | /usr/share/openvswitch/scripts/vif | |
453 | /usr/share/openvswitch/scripts/sysconfig.template | |
454 | /usr/share/openvswitch/scripts/ovs-bugtool-* | |
455 | /usr/share/openvswitch/scripts/ovs-save | |
456 | /usr/share/openvswitch/scripts/ovs-ctl | |
457 | /usr/share/openvswitch/scripts/ovs-lib | |
6e5fe806 | 458 | /usr/share/openvswitch/scripts/ovs-vtep |
6d02480d | 459 | /usr/share/openvswitch/scripts/ovndb-servers.ocf |
7b007006 | 460 | /usr/share/openvswitch/vswitch.ovsschema |
6e5fe806 | 461 | /usr/share/openvswitch/vtep.ovsschema |
31f4bd47 | 462 | /usr/sbin/ovs-bugtool |
7b007006 BP |
463 | /usr/sbin/ovs-vlan-bug-workaround |
464 | /usr/sbin/ovs-vswitchd | |
465 | /usr/sbin/ovsdb-server | |
466 | /usr/bin/ovs-appctl | |
467 | /usr/bin/ovs-dpctl | |
14b4c575 | 468 | /usr/bin/ovs-dpctl-top |
cfa57405 | 469 | /usr/bin/ovs-docker |
7b007006 | 470 | /usr/bin/ovs-ofctl |
013061cf | 471 | /usr/bin/ovs-parse-backtrace |
7b007006 BP |
472 | /usr/bin/ovs-pcap |
473 | /usr/bin/ovs-tcpundump | |
474 | /usr/bin/ovs-vlan-test | |
475 | /usr/bin/ovs-vsctl | |
476 | /usr/bin/ovsdb-client | |
477 | /usr/bin/ovsdb-tool | |
6e5fe806 | 478 | /usr/bin/vtep-ctl |
6d02480d | 479 | /usr/bin/ovs-tcpdump |
7b007006 BP |
480 | /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py |
481 | /usr/share/man/man1/ovsdb-client.1.gz | |
482 | /usr/share/man/man1/ovsdb-server.1.gz | |
483 | /usr/share/man/man1/ovsdb-tool.1.gz | |
484 | /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz | |
6e5fe806 | 485 | /usr/share/man/man5/vtep.5.gz |
6d02480d | 486 | /usr/share/man/man7/ovs-fields.7.gz |
7b007006 | 487 | /usr/share/man/man8/ovs-appctl.8.gz |
31f4bd47 | 488 | /usr/share/man/man8/ovs-bugtool.8.gz |
7b007006 BP |
489 | /usr/share/man/man8/ovs-ctl.8.gz |
490 | /usr/share/man/man8/ovs-dpctl.8.gz | |
14b4c575 | 491 | /usr/share/man/man8/ovs-dpctl-top.8.gz |
7b007006 | 492 | /usr/share/man/man8/ovs-ofctl.8.gz |
013061cf | 493 | /usr/share/man/man8/ovs-parse-backtrace.8.gz |
7b007006 BP |
494 | /usr/share/man/man1/ovs-pcap.1.gz |
495 | /usr/share/man/man1/ovs-tcpundump.1.gz | |
496 | /usr/share/man/man8/ovs-vlan-bug-workaround.8.gz | |
497 | /usr/share/man/man8/ovs-vlan-test.8.gz | |
498 | /usr/share/man/man8/ovs-vsctl.8.gz | |
499 | /usr/share/man/man8/ovs-vswitchd.8.gz | |
6e5fe806 | 500 | /usr/share/man/man8/vtep-ctl.8.gz |
6d02480d | 501 | /usr/share/man/man8/ovs-tcpdump.8.gz |
7b007006 | 502 | /var/lib/openvswitch |
c649fe54 | 503 | /var/log/openvswitch |
7b007006 | 504 | %exclude /usr/lib/xsconsole/plugins-base/*.py[co] |
7b007006 BP |
505 | %exclude /usr/share/openvswitch/scripts/*.py[co] |
506 | %exclude /usr/share/openvswitch/python/*.py[co] | |
507 | %exclude /usr/share/openvswitch/python/ovs/*.py[co] | |
508 | %exclude /usr/share/openvswitch/python/ovs/db/*.py[co] | |
4b131a01 | 509 | %exclude /usr/bin/ovn-* |
4b131a01 GS |
510 | %exclude /usr/share/man/man5/ovn-* |
511 | %exclude /usr/share/man/man7/ovn-* | |
512 | %exclude /usr/share/man/man8/ovn-* | |
513 | %exclude /usr/share/openvswitch/ovn-* | |
514 | %exclude /usr/share/openvswitch/scripts/ovn-* | |
7b007006 BP |
515 | |
516 | %files %{module_package} | |
9b80f761 | 517 | /lib/modules/%{xen_version}/extra/openvswitch/openvswitch.ko |
7e84c25d | 518 | /lib/modules/%{xen_version}/extra/openvswitch/vport-*.ko |