]> git.pld-linux.org Git - packages/VMware-player.git/blame - VMware-player.spec
- fixing with internal_libs bcond
[packages/VMware-player.git] / VMware-player.spec
CommitLineData
3082a3b1 1#
c744b566 2# Conditional build:
3%bcond_without dist_kernel # without distribution kernel
4%bcond_without kernel # don't build kernel modules
c744b566 5%bcond_without userspace # don't build userspace utilities
c744b566 6%bcond_with internal_libs # internal libs stuff
7%bcond_with verbose # verbose build (V=1)
8#
9%include /usr/lib/rpm/macros.perl
c744b566 10
397503c2
ER
11%if %{without kernel}
12%undefine with_dist_kernel
13%endif
c744b566 14%ifarch %{x8664}
15%undefine with_userspace
16%endif
17#
397503c2
ER
18%define ver 2.0.2
19%define buildid 59824
20%define urel 115
21%define ccver %(rpm -q --qf '%{V}' gcc)
22%define _rel 0.10
c744b566 23#
24Summary: VMware player
ae690285 25Summary(pl.UTF-8): VMware player - wirtualna platforma dla stacji roboczej
c744b566 26Name: VMware-player
397503c2 27Version: %{ver}.%{buildid}
c744b566 28Release: %{_rel}
29License: custom, non-distributable
30Group: Applications/Emulators
397503c2 31Source0: http://download3.vmware.com/software/vmplayer/%{name}-%{ver}-%{buildid}.i386.tar.gz
19788557 32# NoSource0-md5: 0c108db615943d71b78f18826611acce
6f6022e1 33NoSource: 0
397503c2 34Source1: http://download3.vmware.com/software/vmplayer/%{name}-%{ver}-%{buildid}.x86_64.tar.gz
19788557 35# NoSource1-md5: f59a77f3e3b8e87591eff605c4bbb796
6f6022e1 36NoSource: 1
397503c2 37Source2: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{urel}.tar.gz
c4faee42 38# Source2-md5: ab33ff7a799fee77f0f4ba5667cd4b9a
c744b566 39Source3: %{name}-vmnet.conf
40Source4: %{name}.png
41Source5: %{name}.desktop
42Source6: %{name}-nat.conf
43Source7: %{name}-dhcpd.conf
a0a85295 44Source8: %{name}.init
c744b566 45Patch0: %{name}-Makefile.patch
46Patch1: %{name}-run_script.patch
c744b566 47URL: http://www.vmware.com/
c744b566 48%{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.7}
452a70f0 49BuildRequires: libstdc++-devel
c744b566 50BuildRequires: rpm-perlprov
51BuildRequires: rpmbuild(macros) >= 1.268
52BuildRequires: sed >= 4.0
c744b566 53Requires: libgnomecanvasmm
54Requires: libview >= 0.5.5-2
4b4af15f 55Requires: openssl >= 0.9.7
c744b566 56ExclusiveArch: %{ix86} %{x8664}
57BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59%define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
60
61%description
62VMware Player Virtual Platform is a thin software layer that allows
63multiple guest operating systems to run concurrently on a single
64standard PC, without repartitioning or rebooting, and without
65significant loss of performance.
66
8cef0267 67%description -l pl.UTF-8
c744b566 68VMware Player Virtual Platform to cienka warstwa oprogramowania
8cef0267
JR
69pozwalająca na jednoczesne działanie wielu gościnnych systemów
70operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
71rebootowania, bez znacznej utraty wydajności.
c744b566 72
73%package debug
74Summary: VMware debug utility
ae690285 75Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
c744b566 76Group: Applications/Emulators
77Requires: %{name} = %{version}-%{release}
78
79%description debug
80VMware debug utility.
81
8cef0267
JR
82%description debug -l pl.UTF-8
83Narzędzie VMware do odpluskwiania.
c744b566 84
85%package help
86Summary: VMware Player help files
ae690285 87Summary(pl.UTF-8): Pliki pomocy dla VMware Player
c744b566 88Group: Applications/Emulators
89Requires: %{name} = %{version}-%{release}
c744b566 90
91%description help
92VMware Player help files.
93
8cef0267 94%description help -l pl.UTF-8
c744b566 95Pliki pomocy dla VMware Player.
96
97%package networking
98Summary: VMware networking utilities
ae690285 99Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
c744b566 100Group: Applications/Emulators
101Requires(post,preun): /sbin/chkconfig
102Requires: %{name} = %{version}-%{release}
c744b566 103Requires: rc-scripts
104Obsoletes: VMware-Player-samba
105
106%description networking
107VMware networking utilities.
108
8cef0267
JR
109%description networking -l pl.UTF-8
110Narzędzia VMware do obsługi sieci.
c744b566 111
7eb646b8 112%package -n kernel%{_alt_kernel}-misc-vmmon
c744b566 113Summary: Kernel module for VMware Player
ae690285 114Summary(pl.UTF-8): Moduł jądra dla VMware Player
c744b566 115Release: %{_rel}@%{_kernel_ver_str}
116Group: Base/Kernel
117Requires(post,postun): /sbin/depmod
118Requires: dev >= 2.9.0-7
119%if %{with dist_kernel}
a0a85295 120%requires_releq_kernel
121Requires(postun): %releq_kernel
c744b566 122%endif
123Provides: kernel(vmmon) = %{version}-%{_rel}
124
7eb646b8 125%description -n kernel%{_alt_kernel}-misc-vmmon
c744b566 126Kernel modules for VMware Player - vmmon.
127
8cef0267
JR
128%description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
129Moduły jądra dla VMware Player - vmmon.
c744b566 130
7eb646b8 131%package -n kernel%{_alt_kernel}-misc-vmnet
c744b566 132Summary: Kernel module for VMware Player
ae690285 133Summary(pl.UTF-8): Moduł jądra dla VMware Player
c744b566 134Release: %{_rel}@%{_kernel_ver_str}
135Group: Base/Kernel
136Requires(post,postun): /sbin/depmod
137Requires: dev >= 2.9.0-7
138%if %{with dist_kernel}
a0a85295 139%requires_releq_kernel
140Requires(postun): %releq_kernel
c744b566 141%endif
142Provides: kernel(vmnet) = %{version}-%{_rel}
143
7eb646b8 144%description -n kernel%{_alt_kernel}-misc-vmnet
c744b566 145Kernel modules for VMware Player - vmnet.
146
8cef0267
JR
147%description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
148Moduły jądra dla VMware Player - vmnet.
c744b566 149
c744b566 150%prep
a0a85295 151%setup -q -n vmware-player-distrib -a2
397503c2 152cd vmware-any-any-update%{urel}
c744b566 153tar xf vmmon.tar
154tar xf vmnet.tar
155cp -a vmmon-only{,.clean}
156cp -a vmnet-only{,.clean}
157sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
158 -i vmnet-only.clean/Makefile.kernel
159cd -
160
397503c2
ER
161%patch0 -p1
162%patch1 -p1
163
164# will never use these
165rm -f lib/libconf/lib/gtk-2.0/2.10.0/engines/*.a
166rm -f lib/libconf/lib/gtk-2.0/2.10.0/immodules/*.a
167rm -f lib/libconf/lib/gtk-2.0/2.10.0/loaders/*.a
168rm -f lib/libconf/lib/pango/1.5.0/modules/*.a
169
170%{__sed} -i -e 's#/build/.*/libconf/#%{_libdir}/vmware/libconf/#' \
171 lib/libconf/etc/gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules} \
172 lib/libconf/etc/pango/{pango.modules,pangorc}
173
174# typo?
175%{__sed} -i -e 's#/etc/pango/pango/pangox.aliases#/etc/pango/pangox.aliases#' \
176 lib/libconf/etc/pango/pangorc
177
c744b566 178%build
179sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
180
397503c2 181cd vmware-any-any-update%{urel}
c744b566 182chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
183
0a20f560 184# hack until new any-any-update version available
8c9de6a7 185sed -i -e 's/#define.*VMMON_VERSION_V6.*/#define VMMON_VERSION_V6 (167 << 16 | 0)/g' vmmon-only.clean/include/iocontrols_compat.h
0a20f560 186
c744b566 187%if %{with kernel}
188rm -rf built
189mkdir built
190
c744b566 191for mod in vmmon vmnet ; do
f91e9f90 192 for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
c744b566 193 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
194 exit 1
195 fi
196 rm -rf $mod-only
197 cp -a $mod-only.clean $mod-only
198 cd $mod-only
199 install -d o/include/linux
200 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
201 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
202 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
203 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
204 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
205 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
206 -i ../vmmon-only/linux/driver.c
207 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
208 -i ../vmnet-only/hub.c
209 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
210 -i ../vmnet-only/driver.c
211 fi
212 %if %{with dist_kernel}
8bbcec96 213 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
c744b566 214 %else
215 install -d o/include/config
216 touch o/include/config/MARKER
217 ln -sf %{_kernelsrcdir}/scripts o/scripts
218 %endif
219 %{__make} -C %{_kernelsrcdir} modules \
220 VMWARE_VER=VME_V5 \
221 SRCROOT=$PWD \
222 M=$PWD O=$PWD/o \
223 VM_KBUILD=26 \
224 %{?with_verbose:V=1} \
397503c2 225 VM_CCVER=%{ccver}
c744b566 226 mv -f $mod.ko ../built/$mod-$cfg.ko
227 cd -
228 done
229done
c744b566 230%endif
231
232%install
233rm -rf $RPM_BUILD_ROOT
234
235%if %{with userspace}
236install -d \
7fc500cc 237 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
c744b566 238 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
239 $RPM_BUILD_ROOT%{_bindir} \
88741604 240 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
c744b566 241 $RPM_BUILD_ROOT%{_mandir} \
242 $RPM_BUILD_ROOT%{_pixmapsdir} \
a9f9d85a 243 $RPM_BUILD_ROOT%{_iconsdir}/hicolor \
c744b566 244 $RPM_BUILD_ROOT%{_desktopdir} \
245 $RPM_BUILD_ROOT/etc/rc.d/init.d \
246 $RPM_BUILD_ROOT/var/run/vmware
247%endif
248
249%if %{with kernel}
7fc500cc 250install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d
251echo "options vmmon vmversion=16" > $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{name}-vmmon.conf
4b4af15f 252
c744b566 253install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
254
397503c2 255cd vmware-any-any-update%{urel}/built
f91e9f90 256install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
257install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
c744b566 258cd -
259%endif
260
261%if %{with userspace}
a0a85295 262install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
c744b566 263install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
264install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
265install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
266install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
267install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
268
269touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
270touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
271
a9f9d85a
AM
272cp -a lib/share/icons/hicolor/* $RPM_BUILD_ROOT%{_iconsdir}/hicolor
273
c744b566 274install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
35a6bee6 275install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt
c744b566 276
277install bin/*-* $RPM_BUILD_ROOT%{_bindir}
278install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
88741604 279install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
280install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
c744b566 281
282cp -r lib/{bin-debug,config,help*,messages,xkeymap} \
283 $RPM_BUILD_ROOT%{_libdir}/vmware
284
285cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
286VM_BINDIR=%{_bindir}
287VM_LIBDIR=%{_libdir}/vmware
288EOF
289
290%if %{with internal_libs}
291install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
292install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
397503c2
ER
293cp -a lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
294cp -a lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
c744b566 295%else
296install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
40eb876e
PZ
297install -d $RPM_BUILD_ROOT%{_libdir}/vmware/lib/lib{crypto,ssl}.so.0.9.7
298ln -s %{_libdir}/libcrypto.so $RPM_BUILD_ROOT%{_libdir}/vmware/lib/libcrypto.so.0.9.7/libcrypto.so.0.9.7
299ln -s %{_libdir}/libssl.so $RPM_BUILD_ROOT%{_libdir}/vmware/lib/libssl.so.0.9.7/libssl.so.0.9.7
c744b566 300%endif
19788557 301
302# remove not needed files
303rm -rf $RPM_BUILD_ROOT%{_bindir}/vmware-{config,uninstall}.pl $RPM_BUILD_ROOT%{_iconsdir}/hicolor/index.theme
c744b566 304%endif
305
306%clean
307rm -rf $RPM_BUILD_ROOT
308
397503c2
ER
309%if %{with internal_libs}
310%post
311gdk-pixbuf-query-loaders %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/*.so \
312 > %{_libdir}/vmware/libconf/etc/gtk-2.0/gdk-pixbuf.loaders
313gtk-query-immodules-2.0 %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/immodules/*.so \
314 > %{_libdir}/vmware/libconf/etc/gtk-2.0/gtk.immodules
315pango-querymodules %{_libdir}/vmware/libconf/lib/pango/1.5.0/modules/*.so \
316 > %{_libdir}/vmware/libconf/etc/pango/pango.modules
317%endif
318
c744b566 319%post networking
320/sbin/chkconfig --add vmnet
321%service vmnet restart "VMware networking service"
322
323%preun networking
324if [ "$1" = "0" ]; then
325 %service vmnet stop
326 /sbin/chkconfig --del vmnet
327fi
328
7eb646b8 329%post -n kernel%{_alt_kernel}-misc-vmmon
c744b566 330%depmod %{_kernel_ver}
331
7eb646b8 332%postun -n kernel%{_alt_kernel}-misc-vmmon
c744b566 333%depmod %{_kernel_ver}
334
7eb646b8 335%post -n kernel%{_alt_kernel}-misc-vmnet
c744b566 336%depmod %{_kernel_ver}
337
7eb646b8 338%postun -n kernel%{_alt_kernel}-misc-vmnet
c744b566 339%depmod %{_kernel_ver}
340
c744b566 341%if %{with userspace}
342%files
343%defattr(644,root,root,755)
344%doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
345%dir %{_sysconfdir}/vmware
346%{_sysconfdir}/vmware/locations
347%attr(755,root,root) %{_bindir}/vmplayer
152da996
AM
348%attr(755,root,root) %{_bindir}/vmware-acetool
349%attr(755,root,root) %{_bindir}/vm-support
88741604 350%attr(755,root,root) %{_libdir}/libvmwarebase.so.*
351%attr(755,root,root) %{_libdir}/libvmwareui.so.*
c744b566 352%dir %{_libdir}/vmware
353%dir %{_libdir}/vmware/bin
354# warning: SUID !!!
355%attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
397503c2 356%dir %{_libdir}/vmware/lib
c744b566 357%{_libdir}/vmware/config
358%if %{with internal_libs}
40eb876e 359%attr(755,root,root) %{_libdir}/vmware/bin/vmplayer
397503c2 360%attr(755,root,root) %{_libdir}/vmware/lib/lib*
c744b566 361%attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
397503c2
ER
362
363%dir %{_libdir}/vmware/libconf
364%dir %{_libdir}/vmware/libconf/etc
365%{_libdir}/vmware/libconf/etc/fonts
366%{_libdir}/vmware/libconf/etc/gtk-2.0
367%{_libdir}/vmware/libconf/etc/pango
368%dir %{_libdir}/vmware/libconf/lib
369%dir %{_libdir}/vmware/libconf/lib/gtk-2.0
370%dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0
371%dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/engines
372%attr(755,root,root) %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/engines/*.so
373%dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/immodules
374%attr(755,root,root) %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/immodules/*.so
375%dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/loaders
376%attr(755,root,root) %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/*.so
377%dir %{_libdir}/vmware/libconf/lib/pango
378%dir %{_libdir}/vmware/libconf/lib/pango/1.5.0
379%dir %{_libdir}/vmware/libconf/lib/pango/1.5.0/modules
380%attr(755,root,root) %{_libdir}/vmware/libconf/lib/pango/1.5.0/modules/*.so
381%else
382# package old openssl (buggy but needed to work)
383%dir %{_libdir}/vmware/lib/libcrypto.so.0.9.7
384%attr(755,root,root) %{_libdir}/vmware/lib/libcrypto.so.0.9.7/libcrypto.so.0.9.7
c744b566 385%endif
386%dir %{_libdir}/vmware/messages
88741604 387%lang(en) %{_libdir}/vmware/messages/en
c744b566 388%lang(ja) %{_libdir}/vmware/messages/ja
389%{_libdir}/vmware/share
390%{_libdir}/vmware/xkeymap
391%attr(1777,root,root) %dir /var/run/vmware
a9f9d85a
AM
392%{_iconsdir}/hicolor/*/*/*.png
393%{_iconsdir}/hicolor/*/*/*.svg
c744b566 394%{_pixmapsdir}/*.png
395%{_desktopdir}/%{name}.desktop
396
397%files debug
398%defattr(644,root,root,755)
399%dir %{_libdir}/vmware/bin-debug
400# warning: SUID !!!
401%attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
402
403%files help
404%defattr(644,root,root,755)
405%{_libdir}/vmware/help*
406
407%files networking
408%defattr(644,root,root,755)
409%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
410%attr(754,root,root) /etc/rc.d/init.d/vmnet
411%attr(755,root,root) %{_bindir}/vmnet-bridge
152da996 412%attr(755,root,root) %{_bindir}/vmnet-detect
c744b566 413%attr(755,root,root) %{_bindir}/vmnet-dhcpd
414%attr(755,root,root) %{_bindir}/vmnet-natd
415%attr(755,root,root) %{_bindir}/vmnet-netifup
416%attr(755,root,root) %{_bindir}/vmnet-sniffer
417%attr(755,root,root) %{_bindir}/vmware-ping
418%dir %{_sysconfdir}/vmware/vmnet8
88741604 419%dir %{_sysconfdir}/vmware/vmnet8/dhcpd
420%dir %{_sysconfdir}/vmware/vmnet8/nat
c744b566 421%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
422%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
423%verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
424
c744b566 425%endif
426
427%if %{with kernel}
7eb646b8 428%files -n kernel%{_alt_kernel}-misc-vmmon
c744b566 429%defattr(644,root,root,755)
7fc500cc 430%{_sysconfdir}/modprobe.d/%{name}-vmmon.conf
c744b566 431/lib/modules/%{_kernel_ver}/misc/vmmon.ko*
432
7eb646b8 433%files -n kernel%{_alt_kernel}-misc-vmnet
c744b566 434%defattr(644,root,root,755)
435/lib/modules/%{_kernel_ver}/misc/vmnet.ko*
436
c744b566 437%endif
This page took 0.10096 seconds and 4 git commands to generate.