]> git.pld-linux.org Git - packages/open-vm-tools.git/blame - open-vm-tools.spec
- add -kernel suffix to (srpm) package name when building kernel modules on builders
[packages/open-vm-tools.git] / open-vm-tools.spec
CommitLineData
8bb2c909
JB
1#
2# Conditional build:
3%bcond_without kernel # without kernel modules
22bd0e3c 4%bcond_without dist_kernel # without distribution kernel
8bb2c909 5%bcond_without userspace # without userspace package
ab695592
JR
6%bcond_with verbose # verbose build (V=1)
7
3eb519e0
JR
8%if %{without kernel}
9%undefine with_dist_kernel
10%endif
3a9d2ca0 11
ab695592
JR
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}
18exit 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}
24exit 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
13e08991 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)
ab695592
JR
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
49979e33 36%define snap 2011.10.26
ba6f6322 37%define subver %(echo %{snap} | tr -d .)
0c6e0b9c
SP
38%define ver 9.4.0
39%define rev 1280544
13e08991 40%define rel 5
74404c53 41%define pname open-vm-tools
3eb519e0 42%define modsrc modules/linux
53ac4062 43Summary: VMWare guest utilities
d4ade506 44Summary(pl.UTF-8): Narzędzia dla systemu-gościa dla VMware
13e08991 45Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
de2750b2 46Version: %{ver}
ab695592 47#Release: 0.%{subver}.%{rel}%{?with_kernel:@%{_kernel_ver_str}}
13e08991 48Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
cdaec346 49Epoch: 1
4aca9bae 50License: GPL
d4ade506 51Group: Applications/System
0c6e0b9c
SP
52Source0: http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-9.4.x/%{pname}-%{ver}-%{rev}.tar.gz
53# Source0-md5: 91f74bf6e42a3f460a42b3be31db31dc
74404c53
JR
54#Source0: http://downloads.sourceforge.net/open-vm-tools/open-vm-tools/%{snap}/%{pname}-%{snap}-%{rev}.tar.gz
55Source1: %{pname}-packaging
56Source2: %{pname}-modprobe.d
57Source3: %{pname}-init
58Source4: %{pname}-vmware-user.desktop
01d05bd9 59Patch0: %{pname}-linux-3.10.patch
8bb2c909 60URL: http://open-vm-tools.sourceforge.net/
aa47ad04 61BuildRequires: rpmbuild(macros) >= 1.679
8bb2c909 62%if %{with userspace}
8367fe7d 63BuildRequires: autoconf
d474f0cc 64BuildRequires: doxygen
bf05980f 65BuildRequires: glib2-devel >= 2.6.0
b2bc54b9 66BuildRequires: gtk+2-devel
66ec7164 67BuildRequires: gtkmm-devel >= 2.4.0
22bd0e3c 68BuildRequires: libdnet-devel
bf05980f 69BuildRequires: libfuse-devel
22bd0e3c 70BuildRequires: libicu-devel
d474f0cc 71BuildRequires: libnotify-devel
b2bc54b9 72BuildRequires: libpng-devel
73BuildRequires: libstdc++-devel
f497b93a 74BuildRequires: pam-devel
22bd0e3c 75BuildRequires: pkgconfig
83f92d13 76BuildRequires: procps-devel >= 1:3.3.3-2
22bd0e3c 77BuildRequires: uriparser-devel
d474f0cc 78BuildRequires: xorg-lib-libSM-devel
22bd0e3c 79BuildRequires: xorg-lib-libX11-devel
ca69b5c9 80BuildRequires: xorg-lib-libXScrnSaver-devel
22bd0e3c 81BuildRequires: xorg-lib-libXinerama-devel
82BuildRequires: xorg-lib-libXrandr-devel
83BuildRequires: xorg-lib-libXtst-devel
f4a5aeb8 84Requires: ethtool
85f364e1 85Requires: libdnet
86Requires: libicu
84b6db26
SP
87Obsoletes: kernel-misc-pvscsi
88Obsoletes: kernel-misc-vmmemctl
8bb2c909 89%endif
13e08991 90%{?with_dist_kernel:%{expand:%kbrs}}
d4ade506 91ExclusiveArch: %{ix86} %{x8664}
74404c53 92BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
4aca9bae 93
94%description
d4ade506 95VMWare guest utilities.
4aca9bae 96
97%description -l pl.UTF-8
d4ade506 98Narzędzia dla systemu-gościa dla VMware.
4aca9bae 99
abc2bafd
SP
100%package devel
101Summary: Header files for open-vm-tools
102Summary(pl.UTF-8): Pliki nagłówkowe open-vm-tools
103Group: Development/Libraries
74404c53 104Requires: %{pname} = %{epoch}:%{version}-%{release}
abc2bafd
SP
105
106%description devel
107Header files for open-vm-tools.
108
109%description devel -l pl.UTF-8
110Pliki nagłówkowe open-vm-tools.
111
54721943
MB
112%package static
113Summary: Static open-vm-tools libraries
114Summary(pl.UTF-8): Statyczne biblioteki open-vm-tools
115Group: Development/Libraries
74404c53 116Requires: %{pname}-devel = %{epoch}:%{version}-%{release}
54721943
MB
117
118%description static
119Static open-vm-tools libraries.
120
121%description static -l pl.UTF-8
122Statyczne biblioteki open-vm-tools.
123
f4a5aeb8 124%package gui
ca69b5c9 125Summary: VMware guest utitities
f4a5aeb8 126Summary(pl.UTF-8): Narzędzia dla systemu-gościa dla VMware.
127Group: Applications/System
74404c53 128Requires: %{pname} = %{epoch}:%{version}-%{release}
f4a5aeb8 129
130%description gui
131VMWare guest utilities. This package contains GUI part of tools.
132
133%description gui -l pl.UTF-8
ca69b5c9
ER
134Narzędzia dla systemu-gościa dla VMware. Ten pakiet zawiera graficzną
135część narzędzi.
f4a5aeb8 136
ab695592
JR
137%define kernel_pkg()\
138%package -n kernel%{_alt_kernel}-misc-vmblock\
139Summary: VMware vmblock Linux kernel module\
140Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmblock\
141Release: %{rel}@%{_kernel_ver_str}\
142Group: Base/Kernel\
143Requires(post,postun): /sbin/depmod\
144Requires: dev >= 2.9.0-7\
145%if %{with dist_kernel}\
146%requires_releq_kernel\
147Requires(postun): %releq_kernel\
148%endif\
149\
150%description -n kernel%{_alt_kernel}-misc-vmblock\
151VMware vmblock Linux kernel module.\
152\
153%description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8\
154Moduł jądra Linuksa VMware vmblock.\
155\
156%package -n kernel%{_alt_kernel}-misc-vmci\
157Summary: VMware vmci Linux kernel module\
158Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmci\
159Release: %{rel}@%{_kernel_ver_str}\
160Group: Base/Kernel\
161Requires(post,postun): /sbin/depmod\
162Requires: dev >= 2.9.0-7\
163%if %{with dist_kernel}\
164%requires_releq_kernel\
165Requires(postun): %releq_kernel\
166%endif\
167\
168%description -n kernel%{_alt_kernel}-misc-vmci\
169VMware vmci Linux kernel module.\
170\
171%description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8\
172Moduł jądra Linuksa VMware vmci.\
173\
174%package -n kernel%{_alt_kernel}-misc-vmhgfs\
175Summary: VMware vmhgfs Linux kernel module\
176Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmhgfs\
177Release: %{rel}@%{_kernel_ver_str}\
178Group: Base/Kernel\
179Requires(post,postun): /sbin/depmod\
180Requires: dev >= 2.9.0-7\
181%if %{with dist_kernel}\
182%requires_releq_kernel\
183Requires(postun): %releq_kernel\
184%endif\
185\
186%description -n kernel%{_alt_kernel}-misc-vmhgfs\
187VMware vmhgfs Linux kernel module.\
188\
189%description -n kernel%{_alt_kernel}-misc-vmhgfs -l pl.UTF-8\
190Moduł jądra Linuksa VMware vmhgfs.\
191\
192%package -n kernel%{_alt_kernel}-misc-vmsync\
193Summary: VMware vmsync Linux kernel module\
194Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmsync\
195Release: %{rel}@%{_kernel_ver_str}\
196Group: Base/Kernel\
197Requires(post,postun): /sbin/depmod\
198Requires: dev >= 2.9.0-7\
199%if %{with dist_kernel}\
200%requires_releq_kernel\
201Requires(postun): %releq_kernel\
202%endif\
203\
204%description -n kernel%{_alt_kernel}-misc-vmsync\
205VMware vmsync Linux kernel module.\
206\
207%description -n kernel%{_alt_kernel}-misc-vmsync -l pl.UTF-8\
208Moduł jądra Linuksa VMware vmsync.\
209\
210%package -n kernel%{_alt_kernel}-misc-vmxnet\
211Summary: VMware vmxnet Linux kernel module\
212Summary(pl.UTF-8): Moduł jądra Linuksa VMware vmxnet\
213Release: %{rel}@%{_kernel_ver_str}\
214Group: Base/Kernel\
215Requires(post,postun): /sbin/depmod\
216Requires: dev >= 2.9.0-7\
217%if %{with dist_kernel}\
218%requires_releq_kernel\
219Requires(postun): %releq_kernel\
220%endif\
221\
222%description -n kernel%{_alt_kernel}-misc-vmxnet\
223VMware vmxnet Linux kernel module.\
224\
225%description -n kernel%{_alt_kernel}-misc-vmxnet -l pl.UTF-8\
226Moduł jądra Linuksa VMware vmxnet.\
227\
228%package -n kernel%{_alt_kernel}-misc-vsock\
229Summary: VMware vsock Linux kernel module\
230Summary(pl.UTF-8): Moduł jądra Linuksa VMware vsock\
231Release: %{rel}@%{_kernel_ver_str}\
232Group: Base/Kernel\
233Requires(post,postun): /sbin/depmod\
234Requires: dev >= 2.9.0-7\
235%if %{with dist_kernel}\
236%requires_releq_kernel\
237Requires(postun): %releq_kernel\
238%endif\
239\
240%description -n kernel%{_alt_kernel}-misc-vsock\
241VMware vsock Linux kernel module.\
242\
243%description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8\
244Moduł 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\
aa47ad04 255%if %{_kernel_version_code} < %{_kernel_version_magic 3 10 0}\
ab695592
JR
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()\
294export 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\
aa47ad04 303%if %{_kernel_version_code} < %{_kernel_version_magic 3 10 0}\
ab695592
JR
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}}
22bd0e3c 312
4aca9bae 313%prep
74404c53
JR
314#setup -q -n %{pname}-%{snap}-%{rev}
315%setup -q -n %{pname}-%{ver}-%{rev}
5d181a50 316%if %{with kernel}
01d05bd9 317%patch0 -p1
5d181a50 318%endif
d54a43a0 319
22bd0e3c 320cp %{SOURCE1} packaging
35a35852 321%{__sed} -i -e 's|##{BUILD_OUTPUT}##|build|' docs/api/doxygen.conf
4aca9bae 322
323%build
ab695592 324%{?with_kernel:%{expand:%bkpkg}}
22bd0e3c 325
8bb2c909 326%if %{with userspace}
1c445e6b 327rm -rf autom4te.cache
a95329f5 328%{__autoconf}
83f92d13 329export CUSTOM_PROCPS_NAME=procps
22bd0e3c 330%configure2_13 \
331 --without-kernel-modules
279724ba
SP
332%{__make} \
333 CFLAGS="%{rpmcflags} -Wno-unused-but-set-variable"
8bb2c909 334%endif
22bd0e3c 335
4aca9bae 336%install
337rm -rf $RPM_BUILD_ROOT
4aca9bae 338
8bb2c909 339%if %{with kernel}
ab695592
JR
340install -d $RPM_BUILD_ROOT
341cp -a installed/* $RPM_BUILD_ROOT
8bb2c909 342%endif
22bd0e3c 343
8bb2c909 344%if %{with userspace}
4aca9bae 345%{__make} install \
346 DESTDIR=$RPM_BUILD_ROOT
347
22bd0e3c 348rm $RPM_BUILD_ROOT/sbin/mount.vmhgfs
349ln -sf %{_sbindir}/mount.vmhgfs $RPM_BUILD_ROOT/sbin/mount.vmhgfs
54721943 350rm -f $RPM_BUILD_ROOT%{_libdir}/open-vm-tools/plugins/common/*.la
f4a5aeb8 351
352install -d $RPM_BUILD_ROOT/etc/{modprobe.d,rc.d/init.d,xdg/autostart}
74404c53
JR
353cp %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf
354cp %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
f4a5aeb8 355cp %{SOURCE4} $RPM_BUILD_ROOT/etc/xdg/autostart/vmware-user.desktop
8bb2c909 356%endif
22bd0e3c 357
4aca9bae 358%clean
359rm -rf $RPM_BUILD_ROOT
360
f4a5aeb8 361%post
54721943 362/sbin/ldconfig
f4a5aeb8 363/sbin/chkconfig --add open-vm-tools
364%service open-vm-tools restart "Open Virtual Machine"
365
366%preun
367if [ "$1" = "0" ]; then
368 %service open-vm-tools stop
369 /sbin/chkconfig --del open-vm-tools
370fi
371
ab695592 372%postun -p /sbin/ldconfig
22bd0e3c 373
8bb2c909 374%if %{with userspace}
4aca9bae 375%files
376%defattr(644,root,root,755)
9cb359e3 377%doc AUTHORS ChangeLog NEWS README packaging
66ec7164 378%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/vmtoolsd
22bd0e3c 379%dir /etc/vmware-tools
380%attr(755,root,root) /etc/vmware-tools/*vm-*
53ac4062 381%attr(755,root,root) /etc/vmware-tools/statechange.subr
53ac4062
SP
382%dir /etc/vmware-tools/scripts
383%dir /etc/vmware-tools/scripts/vmware
384%attr(755,root,root) /etc/vmware-tools/scripts/vmware/network
8bb2c909 385%attr(755,root,root) /sbin/mount.vmhgfs
69a345d9 386%attr(755,root,root) %{_bindir}/vmtoolsd
22bd0e3c 387%attr(755,root,root) %{_bindir}/vmware-checkvm
388%attr(755,root,root) %{_bindir}/vmware-hgfsclient
66ec7164 389%attr(755,root,root) %{_bindir}/vmware-rpctool
22bd0e3c 390%attr(755,root,root) %{_bindir}/vmware-toolbox-cmd
22bd0e3c 391%attr(4755,root,root) %{_bindir}/vmware-user-suid-wrapper
392%attr(755,root,root) %{_bindir}/vmware-xferlogs
cd7044b8 393%attr(755,root,root) %{_bindir}/vmware-vmblock-fuse
22bd0e3c 394%attr(755,root,root) %{_sbindir}/mount.vmhgfs
54721943
MB
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
66d8e69c
JK
399%attr(755,root,root) %{_libdir}/libhgfs.so.*.*.*
400%attr(755,root,root) %ghost %{_libdir}/libhgfs.so.0
f8d4c3d1 401%dir %{_libdir}/open-vm-tools
20e58560
SP
402%dir %{_libdir}/open-vm-tools/plugins
403%dir %{_libdir}/open-vm-tools/plugins/vmsvc
69a345d9 404%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libguestInfo.so
69a345d9
SP
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
69a345d9 407%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmsvc/libvmbackup.so
df165e11 408%dir %{_libdir}/open-vm-tools/plugins/common
53ac4062
SP
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
df165e11 411%dir %{_libdir}/open-vm-tools/plugins/vmusr
53ac4062
SP
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
69a345d9 414%attr(755,root,root) %{_libdir}/open-vm-tools/plugins/vmusr/libresolutionSet.so
74404c53
JR
415%attr(754,root,root) /etc/rc.d/init.d/%{pname}
416/etc/modprobe.d/%{pname}.conf
27597e09 417%dir %{_datadir}/open-vm-tools
124deaa8
JR
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
83f92d13 421%lang(ko) %{_datadir}/open-vm-tools/messages/ko
124deaa8 422%lang(zh_CN) %{_datadir}/open-vm-tools/messages/zh_CN
f4a5aeb8 423
54721943
MB
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
53ac4062
SP
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
54721943
MB
434%{_libdir}/libguestlib.la
435%{_libdir}/libvmtools.la
53ac4062
SP
436%{_libdir}/libhgfs.la
437%{_pkgconfigdir}/vmguestlib.pc
54721943
MB
438
439%files static
440%defattr(644,root,root,755)
441%{_libdir}/libguestlib.a
442%{_libdir}/libvmtools.a
53ac4062 443%{_libdir}/libhgfs.a
54721943 444
f4a5aeb8 445%files gui
446%defattr(644,root,root,755)
69a345d9 447%{_sysconfdir}/xdg/autostart/vmware-user.desktop
20c619a7 448%endif
This page took 0.130286 seconds and 4 git commands to generate.