]> git.pld-linux.org Git - packages/open-vm-tools.git/blob - open-vm-tools.spec
- added fixes for linux 3.14
[packages/open-vm-tools.git] / open-vm-tools.spec
1 #
2 # Conditional build:
3 %bcond_without  kernel          # without kernel modules
4 %bcond_without  dist_kernel     # without distribution kernel
5 %bcond_without  userspace       # without userspace package
6 %bcond_with     verbose         # verbose build (V=1)
7
8 %if %{without kernel}
9 %undefine       with_dist_kernel
10 %endif
11
12 # The goal here is to have main, userspace, package built once with
13 # simple release number, and only rebuild kernel packages with kernel
14 # version as part of release number, without the need to bump release
15 # with every kernel change.
16 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
17 %{error:kernel and userspace cannot be built at the same time on PLD builders}
18 exit 1
19 %endif
20
21 %if "%{_alt_kernel}" != "%{nil}"
22 %if 0%{?build_kernels:1}
23 %{error:alt_kernel and build_kernels are mutually exclusive}
24 exit 1
25 %endif
26 %undefine       with_userspace
27 %global         _build_kernels          %{alt_kernel}
28 %else
29 %global         _build_kernels          %{?build_kernels:,%{?build_kernels}}
30 %endif
31
32 %define         kbrs    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
33 %define         kpkg    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
34 %define         bkpkg   %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
35
36 %define         snap    2011.10.26
37 %define         subver  %(echo %{snap} | tr -d .)
38 %define         ver     9.4.0
39 %define         rev     1280544
40 %define         rel     10
41 %define         pname   open-vm-tools
42 %define         modsrc  modules/linux
43 Summary:        VMWare guest utilities
44 Summary(pl.UTF-8):      Narzędzia dla systemu-gościa dla VMware
45 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
46 Version:        %{ver}
47 #Release:       0.%{subver}.%{rel}%{?with_kernel:@%{_kernel_ver_str}}
48 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
49 Epoch:          1
50 License:        GPL
51 Group:          Applications/System
52 Source0:        http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-9.4.x/%{pname}-%{ver}-%{rev}.tar.gz
53 # Source0-md5:  91f74bf6e42a3f460a42b3be31db31dc
54 #Source0:       http://downloads.sourceforge.net/open-vm-tools/open-vm-tools/%{snap}/%{pname}-%{snap}-%{rev}.tar.gz
55 Source1:        %{pname}-packaging
56 Source2:        %{pname}-modprobe.d
57 Source3:        %{pname}-init
58 Source4:        %{pname}-vmware-user.desktop
59 Patch0:         %{pname}-linux-3.10.patch
60 Patch1:         %{pname}-linux-3.11.patch
61 Patch2:         %{pname}-linux-3.12.patch
62 Patch3:         %{pname}-linux-3.14.patch
63 URL:            http://open-vm-tools.sourceforge.net/
64 BuildRequires:  rpmbuild(macros) >= 1.679
65 %if %{with userspace}
66 BuildRequires:  autoconf
67 BuildRequires:  doxygen
68 BuildRequires:  glib2-devel >= 2.6.0
69 BuildRequires:  gtk+2-devel
70 BuildRequires:  gtkmm-devel >= 2.4.0
71 BuildRequires:  libdnet-devel
72 BuildRequires:  libfuse-devel
73 BuildRequires:  libicu-devel
74 BuildRequires:  libnotify-devel
75 BuildRequires:  libpng-devel
76 BuildRequires:  libstdc++-devel
77 BuildRequires:  pam-devel
78 BuildRequires:  pkgconfig
79 BuildRequires:  procps-devel >= 1:3.3.3-2
80 BuildRequires:  uriparser-devel
81 BuildRequires:  xorg-lib-libSM-devel
82 BuildRequires:  xorg-lib-libX11-devel
83 BuildRequires:  xorg-lib-libXScrnSaver-devel
84 BuildRequires:  xorg-lib-libXinerama-devel
85 BuildRequires:  xorg-lib-libXrandr-devel
86 BuildRequires:  xorg-lib-libXtst-devel
87 Requires:       ethtool
88 Requires:       libdnet
89 Requires:       libicu
90 Obsoletes:      kernel-misc-pvscsi
91 Obsoletes:      kernel-misc-vmmemctl
92 %endif
93 %{?with_dist_kernel:%{expand:%kbrs}}
94 ExclusiveArch:  %{ix86} %{x8664}
95 BuildRoot:      %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
96
97 %description
98 VMWare guest utilities.
99
100 %description -l pl.UTF-8
101 Narzędzia dla systemu-gościa dla VMware.
102
103 %package devel
104 Summary:        Header files for open-vm-tools
105 Summary(pl.UTF-8):      Pliki nagłówkowe open-vm-tools
106 Group:          Development/Libraries
107 Requires:       %{pname} = %{epoch}:%{version}-%{release}
108
109 %description devel
110 Header files for open-vm-tools.
111
112 %description devel -l pl.UTF-8
113 Pliki nagłówkowe open-vm-tools.
114
115 %package static
116 Summary:        Static open-vm-tools libraries
117 Summary(pl.UTF-8):      Statyczne biblioteki open-vm-tools
118 Group:          Development/Libraries
119 Requires:       %{pname}-devel = %{epoch}:%{version}-%{release}
120
121 %description static
122 Static open-vm-tools libraries.
123
124 %description static -l pl.UTF-8
125 Statyczne biblioteki open-vm-tools.
126
127 %package gui
128 Summary:        VMware guest utitities
129 Summary(pl.UTF-8):      Narzędzia dla systemu-gościa dla VMware.
130 Group:          Applications/System
131 Requires:       %{pname} = %{epoch}:%{version}-%{release}
132
133 %description gui
134 VMWare guest utilities. This package contains GUI part of tools.
135
136 %description gui -l pl.UTF-8
137 Narzędzia dla systemu-gościa dla VMware. Ten pakiet zawiera graficzną
138 część narzędzi.
139
140 %define kernel_pkg()\
141 %package -n kernel%{_alt_kernel}-misc-vmblock\
142 Summary:        VMware vmblock Linux kernel module\
143 Summary(pl.UTF-8):      Moduł jądra Linuksa VMware vmblock\
144 Release:        %{rel}@%{_kernel_ver_str}\
145 Group:          Base/Kernel\
146 Requires(post,postun):  /sbin/depmod\
147 Requires:       dev >= 2.9.0-7\
148 %if %{with dist_kernel}\
149 %requires_releq_kernel\
150 Requires(postun):       %releq_kernel\
151 %endif\
152 \
153 %description -n kernel%{_alt_kernel}-misc-vmblock\
154 VMware vmblock Linux kernel module.\
155 \
156 %description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8\
157 Moduł jądra Linuksa VMware vmblock.\
158 \
159 %package -n kernel%{_alt_kernel}-misc-vmci\
160 Summary:        VMware vmci Linux kernel module\
161 Summary(pl.UTF-8):      Moduł jądra Linuksa VMware vmci\
162 Release:        %{rel}@%{_kernel_ver_str}\
163 Group:          Base/Kernel\
164 Requires(post,postun):  /sbin/depmod\
165 Requires:       dev >= 2.9.0-7\
166 %if %{with dist_kernel}\
167 %requires_releq_kernel\
168 Requires(postun):       %releq_kernel\
169 %endif\
170 \
171 %description -n kernel%{_alt_kernel}-misc-vmci\
172 VMware vmci Linux kernel module.\
173 \
174 %description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8\
175 Moduł jądra Linuksa VMware vmci.\
176 \
177 %package -n kernel%{_alt_kernel}-misc-vmhgfs\
178 Summary:        VMware vmhgfs Linux kernel module\
179 Summary(pl.UTF-8):      Moduł jądra Linuksa VMware vmhgfs\
180 Release:        %{rel}@%{_kernel_ver_str}\
181 Group:          Base/Kernel\
182 Requires(post,postun):  /sbin/depmod\
183 Requires:       dev >= 2.9.0-7\
184 %if %{with dist_kernel}\
185 %requires_releq_kernel\
186 Requires(postun):       %releq_kernel\
187 %endif\
188 \
189 %description -n kernel%{_alt_kernel}-misc-vmhgfs\
190 VMware vmhgfs Linux kernel module.\
191 \
192 %description -n kernel%{_alt_kernel}-misc-vmhgfs -l pl.UTF-8\
193 Moduł jądra Linuksa VMware vmhgfs.\
194 \
195 %package -n kernel%{_alt_kernel}-misc-vmsync\
196 Summary:        VMware vmsync Linux kernel module\
197 Summary(pl.UTF-8):      Moduł jądra Linuksa VMware vmsync\
198 Release:        %{rel}@%{_kernel_ver_str}\
199 Group:          Base/Kernel\
200 Requires(post,postun):  /sbin/depmod\
201 Requires:       dev >= 2.9.0-7\
202 %if %{with dist_kernel}\
203 %requires_releq_kernel\
204 Requires(postun):       %releq_kernel\
205 %endif\
206 \
207 %description -n kernel%{_alt_kernel}-misc-vmsync\
208 VMware vmsync Linux kernel module.\
209 \
210 %description -n kernel%{_alt_kernel}-misc-vmsync -l pl.UTF-8\
211 Moduł jądra Linuksa VMware vmsync.\
212 \
213 %package -n kernel%{_alt_kernel}-misc-vmxnet\
214 Summary:        VMware vmxnet Linux kernel module\
215 Summary(pl.UTF-8):      Moduł jądra Linuksa VMware vmxnet\
216 Release:        %{rel}@%{_kernel_ver_str}\
217 Group:          Base/Kernel\
218 Requires(post,postun):  /sbin/depmod\
219 Requires:       dev >= 2.9.0-7\
220 %if %{with dist_kernel}\
221 %requires_releq_kernel\
222 Requires(postun):       %releq_kernel\
223 %endif\
224 \
225 %description -n kernel%{_alt_kernel}-misc-vmxnet\
226 VMware vmxnet Linux kernel module.\
227 \
228 %description -n kernel%{_alt_kernel}-misc-vmxnet -l pl.UTF-8\
229 Moduł jądra Linuksa VMware vmxnet.\
230 \
231 %package -n kernel%{_alt_kernel}-misc-vsock\
232 Summary:        VMware vsock Linux kernel module\
233 Summary(pl.UTF-8):      Moduł jądra Linuksa VMware vsock\
234 Release:        %{rel}@%{_kernel_ver_str}\
235 Group:          Base/Kernel\
236 Requires(post,postun):  /sbin/depmod\
237 Requires:       dev >= 2.9.0-7\
238 %if %{with dist_kernel}\
239 %requires_releq_kernel\
240 Requires(postun):       %releq_kernel\
241 %endif\
242 \
243 %description -n kernel%{_alt_kernel}-misc-vsock\
244 VMware vsock Linux kernel module.\
245 \
246 %description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8\
247 Moduł jądra Linuksa VMware vsock.\
248 \
249 %if %{with kernel}\
250 %files -n kernel%{_alt_kernel}-misc-vmblock\
251 %defattr(644,root,root,755)\
252 /lib/modules/%{_kernel_ver}/misc/vmblock.ko*\
253 \
254 %files -n kernel%{_alt_kernel}-misc-vmhgfs\
255 %defattr(644,root,root,755)\
256 /lib/modules/%{_kernel_ver}/misc/vmhgfs.ko*\
257 \
258 %if %{_kernel_version_code} < %{_kernel_version_magic 3 10 0}\
259 %files -n kernel%{_alt_kernel}-misc-vmci\
260 %defattr(644,root,root,755)\
261 /lib/modules/%{_kernel_ver}/misc/vmci.ko*\
262 \
263 %files -n kernel%{_alt_kernel}-misc-vmsync\
264 %defattr(644,root,root,755)\
265 /lib/modules/%{_kernel_ver}/misc/vmsync.ko*\
266 %endif\
267 \
268 %files -n kernel%{_alt_kernel}-misc-vmxnet\
269 %defattr(644,root,root,755)\
270 /lib/modules/%{_kernel_ver}/misc/vmxnet.ko*\
271 \
272 %files -n kernel%{_alt_kernel}-misc-vsock\
273 %defattr(644,root,root,755)\
274 /lib/modules/%{_kernel_ver}/misc/vsock.ko*\
275 %endif\
276 \
277 %post   -n kernel%{_alt_kernel}-misc-vmblock\
278 %depmod %{_kernel_ver}\
279 \
280 %post   -n kernel%{_alt_kernel}-misc-vmci\
281 %depmod %{_kernel_ver}\
282 \
283 %post   -n kernel%{_alt_kernel}-misc-vmhgfs\
284 %depmod %{_kernel_ver}\
285 \
286 %post   -n kernel%{_alt_kernel}-misc-vmsync\
287 %depmod %{_kernel_ver}\
288 \
289 %post   -n kernel%{_alt_kernel}-misc-vmxnet\
290 %depmod %{_kernel_ver}\
291 \
292 %post   -n kernel%{_alt_kernel}-misc-vsock\
293 %depmod %{_kernel_ver}\
294 %{nil}
295
296 %define build_kernel_pkg()\
297 export OVT_SOURCE_DIR=$PWD\
298 %build_kernel_modules -C %{modsrc}/vmblock -m vmblock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
299 %build_kernel_modules -C %{modsrc}/vmhgfs -m vmhgfs SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
300 %build_kernel_modules -C %{modsrc}/vmxnet -m vmxnet SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
301 %build_kernel_modules -C %{modsrc}/vsock -m vsock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
302 %install_kernel_modules -D installed -m %{modsrc}/vmblock/vmblock -d misc\
303 %install_kernel_modules -D installed -m %{modsrc}/vmhgfs/vmhgfs -d misc\
304 %install_kernel_modules -D installed -m %{modsrc}/vmxnet/vmxnet -d misc\
305 %install_kernel_modules -D installed -m %{modsrc}/vsock/vsock -d misc\
306 %if %{_kernel_version_code} < %{_kernel_version_magic 3 10 0}\
307 %build_kernel_modules -C %{modsrc}/vmci -m vmci SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
308 %build_kernel_modules -C %{modsrc}/vmsync -m vmsync SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}\
309 %install_kernel_modules -D installed -m %{modsrc}/vmci/vmci -d misc\
310 %install_kernel_modules -D installed -m %{modsrc}/vmsync/vmsync -d misc\
311 %endif\
312 %{nil}
313
314 %{?with_kernel:%{expand:%kpkg}}
315
316 %prep
317 #setup -q -n %{pname}-%{snap}-%{rev}
318 %setup -q -n %{pname}-%{ver}-%{rev}
319 %if %{with kernel}
320 %patch0 -p1
321 %patch1 -p1
322 %patch2 -p1
323 %patch3 -p1
324 %endif
325
326 cp %{SOURCE1} packaging
327 %{__sed} -i -e 's|##{BUILD_OUTPUT}##|build|' docs/api/doxygen.conf
328
329 %build
330 %{?with_kernel:%{expand:%bkpkg}}
331
332 %if %{with userspace}
333 rm -rf autom4te.cache
334 %{__autoconf}
335 export CUSTOM_PROCPS_NAME=procps
336 %configure2_13 \
337         --without-kernel-modules
338 %{__make} \
339         CFLAGS="%{rpmcflags} -Wno-unused-but-set-variable"
340 %endif
341
342 %install
343 rm -rf $RPM_BUILD_ROOT
344
345 %if %{with kernel}
346 install -d $RPM_BUILD_ROOT
347 cp -a installed/* $RPM_BUILD_ROOT
348 %endif
349
350 %if %{with userspace}
351 %{__make} install \
352         DESTDIR=$RPM_BUILD_ROOT
353
354 rm $RPM_BUILD_ROOT/sbin/mount.vmhgfs
355 ln -sf %{_sbindir}/mount.vmhgfs $RPM_BUILD_ROOT/sbin/mount.vmhgfs
356 rm -f $RPM_BUILD_ROOT%{_libdir}/open-vm-tools/plugins/common/*.la
357
358 install -d $RPM_BUILD_ROOT/etc/{modprobe.d,rc.d/init.d,xdg/autostart}
359 cp %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf
360 cp %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
361 cp %{SOURCE4} $RPM_BUILD_ROOT/etc/xdg/autostart/vmware-user.desktop
362 %endif
363
364 %clean
365 rm -rf $RPM_BUILD_ROOT
366
367 %post
368 /sbin/ldconfig
369 /sbin/chkconfig --add open-vm-tools
370 %service open-vm-tools restart "Open Virtual Machine"
371
372 %preun
373 if [ "$1" = "0" ]; then
374         %service open-vm-tools stop
375         /sbin/chkconfig --del open-vm-tools
376 fi
377
378 %postun -p /sbin/ldconfig
379
380 %if %{with userspace}
381 %files
382 %defattr(644,root,root,755)
383 %doc AUTHORS ChangeLog NEWS README packaging
384 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/vmtoolsd
385 %dir /etc/vmware-tools
386 %attr(755,root,root) /etc/vmware-tools/*vm-*
387 %attr(755,root,root) /etc/vmware-tools/statechange.subr
388 %dir /etc/vmware-tools/scripts
389 %dir /etc/vmware-tools/scripts/vmware
390 %attr(755,root,root) /etc/vmware-tools/scripts/vmware/network
391 %attr(755,root,root) /sbin/mount.vmhgfs
392 %attr(755,root,root) %{_bindir}/vmtoolsd
393 %attr(755,root,root) %{_bindir}/vmware-checkvm
394 %attr(755,root,root) %{_bindir}/vmware-hgfsclient
395 %attr(755,root,root) %{_bindir}/vmware-rpctool
396 %attr(755,root,root) %{_bindir}/vmware-toolbox-cmd
397 %attr(4755,root,root) %{_bindir}/vmware-user-suid-wrapper
398 %attr(755,root,root) %{_bindir}/vmware-xferlogs
399 %attr(755,root,root) %{_bindir}/vmware-vmblock-fuse
400 %attr(755,root,root) %{_sbindir}/mount.vmhgfs
401 %attr(755,root,root) %{_libdir}/libguestlib.so.*.*.*
402 %attr(755,root,root) %ghost %{_libdir}/libguestlib.so.0
403 %attr(755,root,root) %{_libdir}/libvmtools.so.*.*.*
404 %attr(755,root,root) %ghost %{_libdir}/libvmtools.so.0
405 %attr(755,root,root) %{_libdir}/libhgfs.so.*.*.*
406 %attr(755,root,root) %ghost %{_libdir}/libhgfs.so.0
407 %dir %{_libdir}/open-vm-tools
408 %dir %{_libdir}/open-vm-tools/plugins
409 %dir %{_libdir}/open-vm-tools/plugins/vmsvc
410 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libguestInfo.so
411 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libpowerOps.so
412 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libtimeSync.so
413 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libvmbackup.so
414 %dir %{_libdir}/open-vm-tools/plugins/common
415 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/common/libhgfsServer.so
416 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/common/libvix.so
417 %dir %{_libdir}/open-vm-tools/plugins/vmusr
418 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmusr/libdesktopEvents.so
419 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmusr/libdndcp.so
420 %attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmusr/libresolutionSet.so
421 %attr(754,root,root) /etc/rc.d/init.d/%{pname}
422 /etc/modprobe.d/%{pname}.conf
423 %dir %{_datadir}/open-vm-tools
424 %dir %{_datadir}/open-vm-tools/messages
425 %lang(de) %{_datadir}/open-vm-tools/messages/de
426 %lang(ja) %{_datadir}/open-vm-tools/messages/ja
427 %lang(ko) %{_datadir}/open-vm-tools/messages/ko
428 %lang(zh_CN) %{_datadir}/open-vm-tools/messages/zh_CN
429
430 %files devel
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_libdir}/libguestlib.so
433 %attr(755,root,root) %{_libdir}/libvmtools.so
434 %attr(755,root,root) %{_libdir}/libhgfs.so
435 %dir %{_includedir}/vmGuestLib
436 %{_includedir}/vmGuestLib/includeCheck.h
437 %{_includedir}/vmGuestLib/vmGuestLib.h
438 %{_includedir}/vmGuestLib/vmSessionId.h
439 %{_includedir}/vmGuestLib/vm_basic_types.h
440 %{_libdir}/libguestlib.la
441 %{_libdir}/libvmtools.la
442 %{_libdir}/libhgfs.la
443 %{_pkgconfigdir}/vmguestlib.pc
444
445 %files static
446 %defattr(644,root,root,755)
447 %{_libdir}/libguestlib.a
448 %{_libdir}/libvmtools.a
449 %{_libdir}/libhgfs.a
450
451 %files gui
452 %defattr(644,root,root,755)
453 %{_sysconfdir}/xdg/autostart/vmware-user.desktop
454 %endif
This page took 0.052704 seconds and 3 git commands to generate.