]> git.pld-linux.org Git - packages/openvswitch.git/blob - openvswitch.spec
- release 7
[packages/openvswitch.git] / openvswitch.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # allow non-distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace programs
6 %bcond_with     verbose         # verbose build (V=1)
7
8 # set kernel_builtin to true for kernels with openvswitch module (>= 3.3)
9 %define         kernel_builtin  %(echo %{_kernel_ver} | awk '{ split($0, v, "."); vv=v[1]*1000+v[2]; if (vv >= 3003) print 1; else print 0 }')
10 #'
11 %if %{kernel_builtin} == 1
12 %undefine       with_kernel
13 %endif
14
15 %if %{without kernel}
16 %undefine       with_dist_kernel
17 %endif
18 %if "%{_alt_kernel}" != "%{nil}"
19 %undefine       with_userspace
20 %endif
21 %if %{without userspace}
22 # nothing to be placed to debuginfo package
23 %define         _enable_debug_packages  0
24 %endif
25
26 %define         rel     7
27 %define         pname   openvswitch
28 Summary:        Production Quality, Multilayer Open Virtual Switch
29 #Summary(pl.UTF-8):     -
30 Name:           %{pname}%{_alt_kernel}
31 Version:        1.4.0
32 Release:        %{rel}
33 License:        Apache v2.0
34 Group:          Networking/Daemons
35 Source0:        http://openvswitch.org/releases/%{pname}-%{version}.tar.gz
36 # Source0-md5:  3847c60af329bfe81ff7220b9f489fa5
37 Source1:        ifdown-ovs
38 Source2:        ifup-ovs
39 Source3:        README.PLD
40 Source4:        %{pname}.logrotate
41 Source5:        %{pname}.tmpfiles
42 Source6:        %{pname}.sysconfig
43 Source7:        %{pname}.init
44 #Source8:       openvswitch-controller.init
45 #Source9:       openvswitch-ipsec.init
46 Source10:       %{pname}.service
47 Source11:       ovsdbmonitor.desktop
48 Patch0:         linux-3.3.patch
49 Patch1:         ovsdbmonitor-move-to-its-own-data-directory.patch
50 URL:            http://openvswitch.org/
51 BuildRequires:  Zope-Interface
52 BuildRequires:  automake
53 BuildRequires:  autoconf
54 BuildRequires:  graphviz
55 BuildRequires:  groff
56 BuildRequires:  openssl-devel
57 BuildRequires:  openssl-tools
58 BuildRequires:  pkgconfig
59 BuildRequires:  python-PyQt4-devel
60 BuildRequires:  python-PyQt4-devel-tools
61 BuildRequires:  python-TwistedConch
62 BuildRequires:  python-TwistedCore
63 BuildRequires:  python-distribute
64 BuildRequires:  rpm-pythonprov
65 BuildRequires:  rpmbuild(macros) >= 1.647
66 %if %{with kernel}
67 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
68 %endif
69 Requires(post,preun):   /sbin/chkconfig
70 Requires(post,preun,postun):    systemd-units >= 38
71 Requires:       python-modules
72 Requires:       rc-scripts
73 Requires:       systemd-units >= 38
74 BuildRoot:      %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
75
76 %description
77 Open vSwitch is a production quality, multilayer virtual switch
78 licensed under the open source Apache 2.0 license. It is designed to
79 enable massive network automation through programmatic extension,
80 while still supporting standard management interfaces and protocols
81 (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition,
82 it is designed to support distribution across multiple physical
83 servers similar to VMware's vNetwork distributed vswitch or Cisco's
84 Nexus 1000V.
85
86 #%description -l pl.UTF-8
87
88 %package -n python-openvswitch
89 Summary:        Open vSwitch python bindings
90 Group:          Development/Languages/Python
91 Requires:       python-modules
92
93 %description -n python-openvswitch
94 Python bindings for the Open vSwitch database
95
96 %package -n ovsdbmonitor
97 Summary:        Open vSwitch graphical monitoring tool
98 Group:          Networking/Admin
99 Requires:       Zope-Interface
100 Requires:       python-PyQt4-devel-tools
101 Requires:       python-TwistedConch
102 Requires:       python-TwistedCore
103 Requires:       python-modules
104 Requires:       python-openvswitch = %{version}-%{release}
105
106 %description -n ovsdbmonitor
107 A GUI tool for monitoring and troubleshooting local or remote Open
108 vSwitch installations. It presents GUI tables that graphically
109 represent an Open vSwitch kernel flow table (similar to "ovs-dpctl
110 dump-flows") and Open vSwitch database contents (similar to "ovs-vsctl
111 list <table>").
112
113 %package test
114 Summary:        Open vSwitch test package
115 Group:          Networking/Admin
116 Requires:       python-modules
117 Requires:       python-openvswitch = %{version}-%{release}
118
119 %description test
120 This package contains utilities that are useful to diagnose
121 performance and connectivity issues in Open vSwitch setup.
122
123 %package -n kernel%{_alt_kernel}-net-openvswitch
124 Summary:        Linux driver for openvswitch
125 Summary(pl.UTF-8):      Sterownik dla Linuksa do openvswitch
126 Release:        %{rel}@%{_kernel_ver_str}
127 Group:          Base/Kernel
128 Requires(post,postun):  /sbin/depmod
129 %if %{with dist_kernel}
130 %requires_releq_kernel
131 Requires(postun):       %releq_kernel
132 %endif
133
134 %description -n kernel%{_alt_kernel}-net-openvswitch
135 This is driver for openvswitch for Linux.
136
137 This package contains Linux module.
138
139 %description -n kernel%{_alt_kernel}-net-openvswitch -l pl.UTF-8
140 Sterownik dla Linuksa do openvswitch.
141
142 Ten pakiet zawiera moduł jądra Linuksa.
143
144 %prep
145 %setup -q -n %{pname}-%{version}
146 %patch0 -p1
147 %patch1 -p1
148 cp %{SOURCE3} .
149
150 %build
151 %{__aclocal} -I m4
152 %{__automake}
153 %{__autoconf}
154 %configure \
155 %if %{with kernel}
156         --with-linux=%{_kernelsrcdir} \
157         --with-linux-source=%{_kernelsrcdir}
158 %endif
159
160 %{__make}
161
162 %install
163 rm -rf $RPM_BUILD_ROOT
164
165 %if %{with userspace}
166 install -d $RPM_BUILD_ROOT{%{py_sitescriptdir},%{systemdunitdir},%{systemdtmpfilesdir}} \
167         $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d,logrotate.d},/lib/rc-scripts} \
168         $RPM_BUILD_ROOT%{_desktopdir}
169
170 %{__make} install \
171         DESTDIR=$RPM_BUILD_ROOT
172
173 install -p %{SOURCE1} $RPM_BUILD_ROOT/lib/rc-scripts/ifdown-ovs
174 install -p %{SOURCE2} $RPM_BUILD_ROOT/lib/rc-scripts/ifup-ovs
175 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/openvswitch
176 install -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/openvswitch.conf
177 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/openvswitch
178 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/openvswitch
179 install -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdunitdir}/openvswitch.service
180 install -p %{SOURCE11} $RPM_BUILD_ROOT%{_desktopdir}
181
182 %{__mv} $RPM_BUILD_ROOT%{_datadir}/%{pname}/python/{ovs,ovstest} $RPM_BUILD_ROOT%{py_sitescriptdir}
183 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{pname}/python
184
185 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
186 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
187
188 %py_ocomp $RPM_BUILD_ROOT%{_datadir}/ovsdbmonitor
189 %py_comp $RPM_BUILD_ROOT%{_datadir}/ovsdbmonitor
190 %endif
191
192 %if %{with kernel}
193 cd datapath/linux
194 %install_kernel_modules -m brcompat_mod -d kernel/net/openvswitch
195 %install_kernel_modules -m openvswitch_mod -d kernel/net/openvswitch
196 %endif
197
198 %clean
199 rm -rf $RPM_BUILD_ROOT
200
201 %post
202 /sbin/chkconfig --add openvswitch
203 %service openvswitch restart
204 %systemd_post openvswitch.service
205
206 %preun
207 if [ "$1" = "0" ]; then
208         %service -q openvswitch stop
209         /sbin/chkconfig --del openvswitch
210 fi
211 %systemd_preun openvswitch.service
212
213 %postun
214 %systemd_reload
215
216 %post   -n kernel%{_alt_kernel}-net-openvswitch
217 %depmod %{_kernel_ver}
218
219 %postun -n kernel%{_alt_kernel}-net-openvswitch
220 %depmod %{_kernel_ver}
221
222 %if %{with userspace}
223 %files
224 %defattr(644,root,root,755)
225 %doc AUTHORS DESIGN INSTALL.KVM INSTALL.SSL INSTALL.bridge INSTALL.userspace NEWS README
226 %doc REPORTING-BUGS WHY-OVS README.PLD
227 %attr(755,root,root) /lib/rc-scripts/ifdown-ovs
228 %attr(755,root,root) /lib/rc-scripts/ifup-ovs
229 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/openvswitch
230 %{systemdtmpfilesdir}/openvswitch.conf
231 %{systemdunitdir}/openvswitch.service
232 %dir %{_datadir}/%{pname}
233 %{_datadir}/%{pname}/pki
234 %dir %{_datadir}/%{pname}/scripts
235 %attr(755,root,root) %{_datadir}/%{pname}/scripts/*
236 %{_datadir}/%{pname}/bugtool-plugins
237 %{_datadir}/%{pname}/vswitch.ovsschema
238
239 %attr(754,root,root) /etc/rc.d/init.d/openvswitch
240 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/openvswitch
241
242 %attr(755,root,root) %{_bindir}/ovs-appctl
243 %attr(755,root,root) %{_bindir}/ovs-benchmark
244 %attr(755,root,root) %{_bindir}/ovs-controller
245 %attr(755,root,root) %{_bindir}/ovs-dpctl
246 %attr(755,root,root) %{_bindir}/ovs-ofctl
247 %attr(755,root,root) %{_bindir}/ovs-parse-leaks
248 %attr(755,root,root) %{_bindir}/ovs-pcap
249 %attr(755,root,root) %{_bindir}/ovs-pki
250 %attr(755,root,root) %{_bindir}/ovs-tcpundump
251 %attr(755,root,root) %{_bindir}/ovs-vsctl
252 %attr(755,root,root) %{_bindir}/ovsdb-client
253 %attr(755,root,root) %{_bindir}/ovsdb-tool
254 %attr(755,root,root) %{_sbindir}/ovs-brcompatd
255 %attr(755,root,root) %{_sbindir}/ovs-bugtool
256 %attr(755,root,root) %{_sbindir}/ovs-vlan-bug-workaround
257 %attr(755,root,root) %{_sbindir}/ovs-vswitchd
258 %attr(755,root,root) %{_sbindir}/ovsdb-server
259 %{_mandir}/man1/ovs-benchmark.1*
260 %{_mandir}/man1/ovs-pcap.1*
261 %{_mandir}/man1/ovs-tcpundump.1*
262 %{_mandir}/man1/ovsdb-client.1*
263 %{_mandir}/man1/ovsdb-server.1*
264 %{_mandir}/man1/ovsdb-tool.1*
265 %{_mandir}/man5/ovs-vswitchd.conf.db.5*
266 %{_mandir}/man8/ovs-appctl.8*
267 %{_mandir}/man8/ovs-brcompatd.8*
268 %{_mandir}/man8/ovs-bugtool.8*
269 %{_mandir}/man8/ovs-controller.8*
270 %{_mandir}/man8/ovs-ctl.8*
271 %{_mandir}/man8/ovs-dpctl.8*
272 %{_mandir}/man8/ovs-ofctl.8*
273 %{_mandir}/man8/ovs-parse-leaks.8*
274 %{_mandir}/man8/ovs-pki.8*
275 %{_mandir}/man8/ovs-vlan-bug-workaround.8*
276 %{_mandir}/man8/ovs-vlan-test.8*
277 %{_mandir}/man8/ovs-vsctl.8*
278 %{_mandir}/man8/ovs-vswitchd.8*
279
280 %files -n python-openvswitch
281 %defattr(644,root,root,755)
282 %dir %{py_sitescriptdir}/ovs
283 %{py_sitescriptdir}/ovs/*.py*
284 %dir %{py_sitescriptdir}/ovs/db
285 %{py_sitescriptdir}/ovs/db/*.py*
286
287 %files -n ovsdbmonitor
288 %defattr(644,root,root,755)
289 %attr(755,root,root) %{_bindir}/ovsdbmonitor
290 %{_datadir}/ovsdbmonitor
291 %{_desktopdir}/ovsdbmonitor.desktop
292 %{_mandir}/man1/ovsdbmonitor.1*
293
294 %files test
295 %defattr(644,root,root,755)
296 %attr(755,root,root) %{_bindir}/ovs-test
297 %attr(755,root,root) %{_bindir}/ovs-vlan-test
298 %{py_sitescriptdir}/ovstest
299 %{_mandir}/man8/ovs-test.8*
300 %endif
301
302 %if %{with kernel}
303 %files -n kernel%{_alt_kernel}-net-openvswitch
304 %defattr(644,root,root,755)
305 %dir /lib/modules/%{_kernel_ver}/kernel/net/openvswitch
306 /lib/modules/%{_kernel_ver}/kernel/net/openvswitch/*.ko*
307 %endif
This page took 0.069383 seconds and 4 git commands to generate.