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