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