fedora-spec: Added buildrequires
[cascardo/ovs.git] / rhel / openvswitch-fedora.spec.in
1 # Spec file for Open vSwitch.
2
3 # Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, 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 # If tests have to be skipped while building, specify the '--without check'
11 # option. For example:
12 # rpmbuild -bb --without check rhel/openvswitch-fedora.spec
13
14 #%define kernel 2.6.40.4-5.fc15.x86_64
15
16 Name: openvswitch
17 Summary: Open vSwitch
18 Group: System Environment/Daemons
19 URL: http://www.openvswitch.org/
20 Version: @VERSION@
21
22 # Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
23 # lib/sflow*.[ch] files are SISSL
24 # datapath/ is GPLv2 (although not built into any of the binary packages)
25 # python/compat is Python (although not built into any of the binary packages)
26 License: ASL 2.0 and LGPLv2+ and SISSL
27 Release: 1%{?dist}
28 Source: http://openvswitch.org/releases/%{name}-%{version}.tar.gz
29
30 BuildRequires: autoconf
31 BuildRequires: systemd-units openssl openssl-devel
32 BuildRequires: python python-twisted-core python-zope-interface PyQt4
33 BuildRequires: desktop-file-utils
34 BuildRequires: groff graphviz
35
36 Requires(post):  systemd-units
37 Requires(preun): systemd-units
38 Requires(postun): systemd-units
39
40 %bcond_without check
41
42 %description
43 Open vSwitch provides standard network bridging functions augmented with
44 support for the OpenFlow protocol for remote per-flow control of
45 traffic.
46
47 %prep
48 %setup -q -n openvswitch-%{version}
49
50 %build
51 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --enable-ssl
52 make %{_smp_mflags}
53
54 %install
55 rm -rf $RPM_BUILD_ROOT
56 make install DESTDIR=$RPM_BUILD_ROOT
57 install -d -m 755 $RPM_BUILD_ROOT/etc
58 install -d -m 755 $RPM_BUILD_ROOT/etc/openvswitch
59 install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch.service \
60         $RPM_BUILD_ROOT%{_unitdir}/openvswitch.service
61 install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \
62         $RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service
63 install -m 755 rhel/etc_init.d_openvswitch \
64         $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
65 install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig
66 install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d
67 install -m 755 rhel/etc_logrotate.d_openvswitch \
68         $RPM_BUILD_ROOT/etc/logrotate.d/openvswitch
69 install -d -m 755 $RPM_BUILD_ROOT/etc/profile.d
70 install -m 644 vswitchd/vswitch.ovsschema \
71         $RPM_BUILD_ROOT/usr/share/openvswitch/vswitch.ovsschema
72 install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
73 install -d -m 0755 $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/
74 install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
75         $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifdown-ovs
76 install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
77         $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifup-ovs
78 install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
79         $RPM_BUILD_ROOT/etc/sysconfig/openvswitch
80 install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
81
82 install python/compat/uuid.py $RPM_BUILD_ROOT/usr/share/openvswitch/python
83 install python/compat/argparse.py $RPM_BUILD_ROOT/usr/share/openvswitch/python
84
85 install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
86
87 # Get rid of stuff we don't want to make RPM happy.
88 (cd "$RPM_BUILD_ROOT" && rm -f usr/lib/lib*)
89
90 %check
91 %if %{with check}
92     if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
93        make check TESTSUITEFLAGS='--recheck'; then :;
94     else
95         cat tests/testsuite.log
96         exit 1
97     fi
98 %endif
99
100 %clean
101 rm -rf $RPM_BUILD_ROOT
102
103 %preun
104 # Package removal, not upgrade
105 systemctl stop openvswitch.service
106 systemctl disable openvswitch.service
107
108 %post
109 if test ! -e /etc/openvswitch/conf.db; then
110     install -d -m 755 -o root -g root /etc/openvswitch
111
112     # Create ovs-vswitchd config database
113     ovsdb-tool -vANY:console:emer create /etc/openvswitch/conf.db \
114             /usr/share/openvswitch/vswitch.ovsschema
115
116     # Create initial table in config database
117     ovsdb-tool -vANY:console:emer transact /etc/openvswitch/conf.db \
118             '[{"op": "insert", "table": "Open_vSwitch", "row": {}}]' \
119             > /dev/null
120 fi
121 # Initial installation
122 systemctl enable openvswitch.service
123 systemctl start openvswitch.service
124
125 %postun
126
127 %files
128 %defattr(-,root,root)
129 %config /etc/sysconfig/openvswitch
130 %config /etc/logrotate.d/openvswitch
131 %{_unitdir}/openvswitch.service
132 %{_unitdir}/openvswitch-nonetwork.service
133 %{_datadir}/openvswitch/scripts/openvswitch.init
134 %{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
135 %{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
136 /usr/share/openvswitch/bugtool-plugins/
137 /usr/share/openvswitch/python/ovs/__init__.py*
138 /usr/share/openvswitch/python/ovs/daemon.py*
139 /usr/share/openvswitch/python/ovs/db/__init__.py*
140 /usr/share/openvswitch/python/ovs/db/data.py*
141 /usr/share/openvswitch/python/ovs/db/error.py*
142 /usr/share/openvswitch/python/ovs/db/idl.py*
143 /usr/share/openvswitch/python/ovs/db/parser.py*
144 /usr/share/openvswitch/python/ovs/db/schema.py*
145 /usr/share/openvswitch/python/ovs/db/types.py*
146 /usr/share/openvswitch/python/ovs/dirs.py*
147 /usr/share/openvswitch/python/ovs/fatal_signal.py*
148 /usr/share/openvswitch/python/ovs/json.py*
149 /usr/share/openvswitch/python/ovs/jsonrpc.py*
150 /usr/share/openvswitch/python/ovs/ovsuuid.py*
151 /usr/share/openvswitch/python/ovs/poller.py*
152 /usr/share/openvswitch/python/ovs/process.py*
153 /usr/share/openvswitch/python/ovs/reconnect.py*
154 /usr/share/openvswitch/python/ovs/socket_util.py*
155 /usr/share/openvswitch/python/ovs/stream.py*
156 /usr/share/openvswitch/python/ovs/timeval.py*
157 /usr/share/openvswitch/python/ovs/util.py*
158 /usr/share/openvswitch/python/ovs/version.py*
159 /usr/share/openvswitch/python/ovs/unixctl/__init__.py*
160 /usr/share/openvswitch/python/ovs/unixctl/client.py*
161 /usr/share/openvswitch/python/ovs/unixctl/server.py*
162 /usr/share/openvswitch/python/uuid.py*
163 /usr/share/openvswitch/python/argparse.py*
164 /usr/share/openvswitch/python/ovs/vlog.py*
165 /usr/share/openvswitch/python/ovstest/__init__.py*
166 /usr/share/openvswitch/python/ovstest/args.py*
167 /usr/share/openvswitch/python/ovstest/rpcserver.py*
168 /usr/share/openvswitch/python/ovstest/tcp.py*
169 /usr/share/openvswitch/python/ovstest/udp.py*
170 /usr/share/openvswitch/python/ovstest/util.py*
171 /usr/share/openvswitch/python/ovstest/vswitch.py*
172 /usr/share/openvswitch/python/ovstest/tests.py*
173 /usr/share/openvswitch/scripts/ovs-bugtool-*
174 /usr/share/openvswitch/scripts/ovs-check-dead-ifs
175 /usr/share/openvswitch/scripts/ovs-lib
176 /usr/share/openvswitch/scripts/ovs-vtep
177 %config /usr/share/openvswitch/vswitch.ovsschema
178 %config /usr/share/openvswitch/vtep.ovsschema
179 /usr/sbin/ovs-bugtool
180 /usr/sbin/ovs-vswitchd
181 /usr/sbin/ovsdb-server
182 /usr/bin/ovs-appctl
183 /usr/bin/ovs-docker
184 /usr/bin/ovs-dpctl
185 /usr/bin/ovs-dpctl-top
186 /usr/bin/ovs-ofctl
187 /usr/bin/ovs-vsctl
188 /usr/bin/ovsdb-client
189 /usr/bin/ovsdb-tool
190 /usr/bin/ovs-testcontroller
191 /usr/bin/ovs-pki
192 /usr/bin/ovs-test
193 /usr/bin/ovs-l3ping
194 /usr/bin/vtep-ctl
195 %doc /usr/share/man/man8/ovs-testcontroller.8.gz
196 %doc /usr/share/man/man8/ovs-pki.8.gz
197 %doc /usr/share/man/man1/ovsdb-client.1.gz
198 %doc /usr/share/man/man1/ovsdb-server.1.gz
199 %doc /usr/share/man/man1/ovsdb-tool.1.gz
200 %doc /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
201 %doc /usr/share/man/man5/vtep.5.gz
202 %doc /usr/share/man/man8/ovs-appctl.8.gz
203 %doc /usr/share/man/man8/ovs-bugtool.8.gz
204 %doc /usr/share/man/man8/ovs-ctl.8.gz
205 %doc /usr/share/man/man8/ovs-dpctl.8.gz
206 %doc /usr/share/man/man8/ovs-dpctl-top.8.gz
207 %doc /usr/share/man/man8/ovs-ofctl.8.gz
208 %doc /usr/share/man/man8/ovs-parse-backtrace.8.gz
209 %doc /usr/share/man/man8/ovs-vsctl.8.gz
210 %doc /usr/share/man/man8/ovs-vswitchd.8.gz
211 %doc /usr/share/man/man8/ovs-test.8.gz
212 %doc /usr/share/man/man8/ovs-l3ping.8.gz
213 %doc /usr/share/man/man8/vtep-ctl.8.gz
214 %doc COPYING DESIGN.md INSTALL.SSL.md NOTICE README.md WHY-OVS.md FAQ.md NEWS INSTALL.DPDK.md
215 /var/lib/openvswitch
216 /var/log/openvswitch
217 /usr/share/openvswitch/scripts/ovs-ctl
218 %exclude /etc/openvswitch
219 %exclude /usr/bin/ovs-benchmark
220 %exclude /usr/bin/ovs-parse-backtrace
221 %exclude /usr/bin/ovs-pcap
222 %exclude /usr/bin/ovs-tcpundump
223 %exclude /usr/bin/ovs-vlan-test
224 %exclude /usr/sbin/ovs-vlan-bug-workaround
225 %exclude /usr/share/man/man1/ovs-benchmark.1.gz
226 %exclude /usr/share/man/man1/ovs-pcap.1.gz
227 %exclude /usr/share/man/man1/ovs-tcpundump.1.gz
228 %exclude /usr/share/man/man8/ovs-vlan-bug-workaround.8.gz
229 %exclude /usr/share/man/man8/ovs-vlan-test.8.gz
230 %exclude /usr/share/openvswitch/scripts/ovs-save
231
232 %changelog
233 * Wed Jan 12 2011 Ralf Spenneberg <ralf@os-s.net>
234 - First build on F14