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