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