]> git.proxmox.com Git - mirror_ovs.git/blob - xenserver/openvswitch-xen.spec.in
treewide: Convert leading tabs to spaces.
[mirror_ovs.git] / xenserver / openvswitch-xen.spec.in
1 # Spec file for Open vSwitch.
2
3 # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira, Inc.
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
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.
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"
19 # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec
20 #
21 # For XenServer version >= 6.5, use kernel_uname which should be
22 # the `uname -r` output.
23 # for example:
24 #
25 # rpmbuild -D "openvswitch_version 2.3.0+build123"
26 # -D "kernel_uname 3.10.0+2"
27 # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec
28 #
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
32
33 %if %{?openvswitch_version:0}%{!?openvswitch_version:1}
34 %define openvswitch_version @VERSION@
35 %endif
36
37 %if %{?kernel_uname:1}%{!?kernel_uname:0}
38 %define kernel_name kernel
39 %define kernel_version %{kernel_uname}
40 %endif
41
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
49 %if %{?xen_version:0}%{!?xen_version:1}
50 %define xen_version %{kernel_version}%{?kernel_flavor:%{kernel_flavor}}
51 %endif
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
57 %define module_package modules%{?kernel_flavor:-%{kernel_flavor}}-%{kernel_version}
58
59 %bcond_without check
60
61 Name: openvswitch
62 Summary: Open vSwitch daemon/database/utilities
63 Group: System Environment/Daemons
64 URL: http://www.openvswitch.org/
65 Vendor: Nicira, Inc.
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
72 Requires: openvswitch.ko.%{module_abi_version}
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
83 Provides: %{name}-modules%{?kernel_flavor:-%{kernel_flavor}} = %{kernel_version}, openvswitch.ko.%{module_abi_version}
84 %if %{?kernel_uname:0}%{!?kernel_uname:1}
85 Requires: kernel%{?kernel_flavor:-%{kernel_flavor}} = %{kernel_version}
86 %endif
87 %if %{?kernel_uname:1}%{!?kernel_uname:0}
88 Requires: kernel-uname-r = %{kernel_version}
89 %endif
90
91 %description %{module_package}
92 Open vSwitch Linux kernel module compiled against kernel version
93 %{kernel_version}%{?kernel_flavor:%{kernel_flavor}}.
94
95 %prep
96 %setup -q -n openvswitch-%{openvswitch_version}
97
98 %build
99 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --with-linux=/lib/modules/%{xen_version}/build --enable-ssl CFLAGS='-g -O2 -msse -msse2'
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 \;
143
144 install -d -m 755 $RPM_BUILD_ROOT/etc/xensource/bugtool
145 cp -rf $RPM_BUILD_ROOT/usr/share/openvswitch/bugtool-plugins/* $RPM_BUILD_ROOT/etc/xensource/bugtool
146
147 # Get rid of stuff we don't want to make RPM happy.
148 rm \
149 $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
150 $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
151 $RPM_BUILD_ROOT/usr/bin/ovs-pki \
152 $RPM_BUILD_ROOT/usr/bin/ovs-test \
153 $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
154 $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
155 $RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8 \
156 $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8
157 (cd "$RPM_BUILD_ROOT" && rm -f usr/lib/lib*)
158 (cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
159 (cd "$RPM_BUILD_ROOT" && rm -rf usr/lib/pkgconfig)
160
161 install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
162
163 %check
164 %if %{with check}
165 if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
166 else
167 cat tests/testsuite.log
168 exit 1
169 fi
170 %endif
171
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 ;;
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 ;;
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
269 ovsdb-tool -vconsole:off create /etc/openvswitch/conf.db \
270 /usr/share/openvswitch/vswitch.ovsschema
271
272 # Create initial table in config database
273 ovsdb-tool -vconsole:off transact /etc/openvswitch/conf.db \
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.
320 for orig in /usr/sbin/xen-bugtool $keep_files; do
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
328 chkconfig --del $s || printf "Could not remove $s init script.\n"
329 fi
330 chkconfig --add $s || printf "Could not add $s init script.\n"
331 chkconfig $s on || printf "Could not enable $s init script.\n"
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 " xe-switch-network-backend vswitch"
344 printf "\n\n"
345 fi
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
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
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 \
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)
436 /etc/bash_completion.d/ovs-appctl-bashcomp.bash
437 /etc/bash_completion.d/ovs-vsctl-bashcomp.bash
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/
445 /usr/share/openvswitch/bugtool-plugins/*
446 /usr/share/openvswitch/scripts/ovs-check-dead-ifs
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
458 /usr/share/openvswitch/scripts/ovs-vtep
459 /usr/share/openvswitch/scripts/ovndb-servers.ocf
460 /usr/share/openvswitch/vswitch.ovsschema
461 /usr/share/openvswitch/vtep.ovsschema
462 /usr/sbin/ovs-bugtool
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
468 /usr/bin/ovs-dpctl-top
469 /usr/bin/ovs-docker
470 /usr/bin/ovs-ofctl
471 /usr/bin/ovs-parse-backtrace
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
478 /usr/bin/vtep-ctl
479 /usr/bin/ovs-tcpdump
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/ovsdb-server.5.gz
485 /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
486 /usr/share/man/man5/vtep.5.gz
487 /usr/share/man/man7/ovs-fields.7.gz
488 /usr/share/man/man8/ovs-appctl.8.gz
489 /usr/share/man/man8/ovs-bugtool.8.gz
490 /usr/share/man/man8/ovs-ctl.8.gz
491 /usr/share/man/man8/ovs-dpctl.8.gz
492 /usr/share/man/man8/ovs-dpctl-top.8.gz
493 /usr/share/man/man8/ovs-ofctl.8.gz
494 /usr/share/man/man8/ovs-parse-backtrace.8.gz
495 /usr/share/man/man1/ovs-pcap.1.gz
496 /usr/share/man/man1/ovs-tcpundump.1.gz
497 /usr/share/man/man8/ovs-vlan-bug-workaround.8.gz
498 /usr/share/man/man8/ovs-vlan-test.8.gz
499 /usr/share/man/man8/ovs-vsctl.8.gz
500 /usr/share/man/man8/ovs-vswitchd.8.gz
501 /usr/share/man/man8/vtep-ctl.8.gz
502 /usr/share/man/man8/ovs-tcpdump.8.gz
503 /var/lib/openvswitch
504 /var/log/openvswitch
505 %exclude /usr/lib/xsconsole/plugins-base/*.py[co]
506 %exclude /usr/share/openvswitch/scripts/*.py[co]
507 %exclude /usr/share/openvswitch/python/*.py[co]
508 %exclude /usr/share/openvswitch/python/ovs/*.py[co]
509 %exclude /usr/share/openvswitch/python/ovs/db/*.py[co]
510 %exclude /usr/bin/ovn-*
511 %exclude /usr/share/man/man5/ovn-*
512 %exclude /usr/share/man/man7/ovn-*
513 %exclude /usr/share/man/man8/ovn-*
514 %exclude /usr/share/openvswitch/ovn-*
515 %exclude /usr/share/openvswitch/scripts/ovn-*
516
517 %files %{module_package}
518 /lib/modules/%{xen_version}/extra/openvswitch/openvswitch.ko
519 /lib/modules/%{xen_version}/extra/openvswitch/vport-*.ko