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