]> git.pld-linux.org Git - packages/VMware-player.git/blob - VMware-player.spec
8d8a7ecd0323db6ed978edcffa3cd7ca421074a3
[packages/VMware-player.git] / VMware-player.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # without distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace utilities
6 %bcond_with     internal_libs   # internal libs stuff
7 %bcond_with     verbose         # verbose build (V=1)
8 #
9 %include        /usr/lib/rpm/macros.perl
10
11 %ifarch %{x8664}
12 %undefine       with_userspace
13 %endif
14 #
15 %define         _ver    2.0.0
16 %define         _build  45731
17 %define         _rel    0.2
18 %define         _urel   110
19 %define         _ccver  %(rpm -q --qf "%{VERSION}" gcc)
20 #
21 Summary:        VMware player
22 Summary(pl.UTF-8):      VMware player - wirtualna platforma dla stacji roboczej
23 Name:           VMware-player
24 Version:        %{_ver}.%{_build}
25 Release:        %{_rel}
26 License:        custom, non-distributable
27 Group:          Applications/Emulators
28 Source0:        http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.i386.tar.gz
29 # NoSource0-md5:        090b02f6a49dd3a4e8617f68e1d2dc7b
30 Source1:        http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.x86_64.tar.gz
31 # NoSource1-md5:        2bfbc79f548f082818b44b980d9e1c71        
32 Source2:        http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
33 # Source2-md5:  6a0c8da95b4c25670c842939e5b92728
34 Source3:        %{name}-vmnet.conf
35 Source4:        %{name}.png
36 Source5:        %{name}.desktop
37 Source6:        %{name}-nat.conf
38 Source7:        %{name}-dhcpd.conf
39 Source8:        %{name}.init
40 Patch0:         %{name}-Makefile.patch
41 Patch1:         %{name}-run_script.patch
42 NoSource:       0
43 URL:            http://www.vmware.com/
44 BuildRequires:  gcc-c++
45 %{?with_dist_kernel:BuildRequires:      kernel-module-build >= 3:2.6.7}
46 BuildRequires:  rpm-perlprov
47 BuildRequires:  rpmbuild(macros) >= 1.268
48 BuildRequires:  sed >= 4.0
49 Requires:       libgnomecanvasmm
50 Requires:       libview >= 0.5.5-2
51 ExclusiveArch:  %{ix86} %{x8664}
52 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53
54 %define         _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
55
56 %description
57 VMware Player Virtual Platform is a thin software layer that allows
58 multiple guest operating systems to run concurrently on a single
59 standard PC, without repartitioning or rebooting, and without
60 significant loss of performance.
61
62 %description -l pl.UTF-8
63 VMware Player Virtual Platform to cienka warstwa oprogramowania
64 pozwalająca na jednoczesne działanie wielu gościnnych systemów
65 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
66 rebootowania, bez znacznej utraty wydajności.
67
68 %package debug
69 Summary:        VMware debug utility
70 Summary(pl.UTF-8):      Narzędzie VMware do odpluskwiania
71 Group:          Applications/Emulators
72 Requires:       %{name} = %{version}-%{release}
73
74 %description debug
75 VMware debug utility.
76
77 %description debug -l pl.UTF-8
78 Narzędzie VMware do odpluskwiania.
79
80 %package help
81 Summary:        VMware Player help files
82 Summary(pl.UTF-8):      Pliki pomocy dla VMware Player
83 Group:          Applications/Emulators
84 Requires:       %{name} = %{version}-%{release}
85 Requires:       mozilla
86
87 %description help
88 VMware Player help files.
89
90 %description help -l pl.UTF-8
91 Pliki pomocy dla VMware Player.
92
93 %package networking
94 Summary:        VMware networking utilities
95 Summary(pl.UTF-8):      Narzędzia VMware do obsługi sieci
96 Group:          Applications/Emulators
97 Requires(post,preun):   /sbin/chkconfig
98 Requires:       %{name} = %{version}-%{release}
99 Requires:       rc-scripts
100 Obsoletes:      VMware-Player-samba
101
102 %description networking
103 VMware networking utilities.
104
105 %description networking -l pl.UTF-8
106 Narzędzia VMware do obsługi sieci.
107
108 %package -n kernel%{_alt_kernel}-misc-vmmon
109 Summary:        Kernel module for VMware Player
110 Summary(pl.UTF-8):      Moduł jądra dla VMware Player
111 Release:        %{_rel}@%{_kernel_ver_str}
112 Group:          Base/Kernel
113 Requires(post,postun):  /sbin/depmod
114 Requires:       dev >= 2.9.0-7
115 %if %{with dist_kernel}
116 %requires_releq_kernel
117 Requires(postun):       %releq_kernel
118 %endif
119 Provides:       kernel(vmmon) = %{version}-%{_rel}
120
121 %description -n kernel%{_alt_kernel}-misc-vmmon
122 Kernel modules for VMware Player - vmmon.
123
124 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
125 Moduły jądra dla VMware Player - vmmon.
126
127 %package -n kernel%{_alt_kernel}-misc-vmnet
128 Summary:        Kernel module for VMware Player
129 Summary(pl.UTF-8):      Moduł jądra dla VMware Player
130 Release:        %{_rel}@%{_kernel_ver_str}
131 Group:          Base/Kernel
132 Requires(post,postun):  /sbin/depmod
133 Requires:       dev >= 2.9.0-7
134 %if %{with dist_kernel}
135 %requires_releq_kernel
136 Requires(postun):       %releq_kernel
137 %endif
138 Provides:       kernel(vmnet) = %{version}-%{_rel}
139
140 %description -n kernel%{_alt_kernel}-misc-vmnet
141 Kernel modules for VMware Player - vmnet.
142
143 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
144 Moduły jądra dla VMware Player - vmnet.
145
146 %prep
147 %setup -q -n vmware-player-distrib -a2
148 cd vmware-any-any-update%{_urel}
149 tar xf vmmon.tar
150 tar xf vmnet.tar
151 cp -a vmmon-only{,.clean}
152 cp -a vmnet-only{,.clean}
153 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
154         -i vmnet-only.clean/Makefile.kernel
155 cd -
156
157 %build
158 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
159
160 cd vmware-any-any-update%{_urel}
161 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
162
163 %if %{with kernel}
164 rm -rf built
165 mkdir built
166
167 for mod in vmmon vmnet ; do
168         for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
169                 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
170                         exit 1
171                 fi
172                 rm -rf $mod-only
173                 cp -a $mod-only.clean $mod-only
174                 cd $mod-only
175                 install -d o/include/linux
176                 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
177                 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
178                 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
179         if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
180                 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
181                         -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
182                         -i ../vmmon-only/linux/driver.c
183                 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
184                         -i ../vmnet-only/hub.c
185                 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
186                         -i ../vmnet-only/driver.c
187         fi
188         %if %{with dist_kernel}
189                 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
190         %else
191                 install -d o/include/config
192                 touch o/include/config/MARKER
193                 ln -sf %{_kernelsrcdir}/scripts o/scripts
194                 %endif
195                 %{__make} -C %{_kernelsrcdir} modules \
196                         VMWARE_VER=VME_V5 \
197                         SRCROOT=$PWD \
198                         M=$PWD O=$PWD/o \
199                         VM_KBUILD=26 \
200                         %{?with_verbose:V=1} \
201                         VM_CCVER=%{_ccver}
202                 mv -f $mod.ko ../built/$mod-$cfg.ko
203                 cd -
204         done
205 done
206 %endif
207
208 %install
209 rm -rf $RPM_BUILD_ROOT
210
211 %if %{with userspace}
212 install -d \
213         $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
214         $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
215         $RPM_BUILD_ROOT%{_bindir} \
216         $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
217         $RPM_BUILD_ROOT%{_mandir} \
218         $RPM_BUILD_ROOT%{_pixmapsdir} \
219         $RPM_BUILD_ROOT%{_desktopdir} \
220         $RPM_BUILD_ROOT/etc/rc.d/init.d \
221         $RPM_BUILD_ROOT/var/run/vmware
222 %endif
223
224 %if %{with kernel}
225 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
226
227 cd vmware-any-any-update%{_urel}/built
228 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
229 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
230 cd -
231 %endif
232
233 %if %{with userspace}
234 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
235 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
236 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
237 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
238 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
239 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
240
241 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
242 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
243
244 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
245 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share
246
247 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
248 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
249 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
250 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
251
252 cp -r   lib/{bin-debug,config,help*,messages,xkeymap} \
253         $RPM_BUILD_ROOT%{_libdir}/vmware
254
255 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
256 VM_BINDIR=%{_bindir}
257 VM_LIBDIR=%{_libdir}/vmware
258 EOF
259
260 %if %{with internal_libs}
261 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
262 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
263 install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
264 cp -r   lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
265 %else
266 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
267 %endif
268 %endif
269
270 %clean
271 rm -rf $RPM_BUILD_ROOT
272
273 %post networking
274 /sbin/chkconfig --add vmnet
275 %service vmnet restart "VMware networking service"
276
277 %preun networking
278 if [ "$1" = "0" ]; then
279         %service vmnet stop
280         /sbin/chkconfig --del vmnet
281 fi
282
283 %post   -n kernel%{_alt_kernel}-misc-vmmon
284 %depmod %{_kernel_ver}
285
286 %postun -n kernel%{_alt_kernel}-misc-vmmon
287 %depmod %{_kernel_ver}
288
289 %post   -n kernel%{_alt_kernel}-misc-vmnet
290 %depmod %{_kernel_ver}
291
292 %postun -n kernel%{_alt_kernel}-misc-vmnet
293 %depmod %{_kernel_ver}
294
295 %if %{with userspace}
296 %files
297 %defattr(644,root,root,755)
298 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
299 %dir %{_sysconfdir}/vmware
300 %{_sysconfdir}/vmware/locations
301 %attr(755,root,root) %{_bindir}/vmplayer
302 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
303 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
304 %dir %{_libdir}/vmware
305 %dir %{_libdir}/vmware/bin
306 %dir %{_libdir}/vmware/lib
307 # warning: SUID !!!
308 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
309 %{_libdir}/vmware/config
310 %if %{with internal_libs}
311 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
312 %{_libdir}/vmware/lib/lib*
313 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
314 %endif
315 %dir %{_libdir}/vmware/messages
316 %lang(en) %{_libdir}/vmware/messages/en
317 %lang(ja) %{_libdir}/vmware/messages/ja
318 %{_libdir}/vmware/share
319 %{_libdir}/vmware/xkeymap
320 %attr(1777,root,root) %dir /var/run/vmware
321 %{_pixmapsdir}/*.png
322 %{_desktopdir}/%{name}.desktop
323
324 %files debug
325 %defattr(644,root,root,755)
326 %dir %{_libdir}/vmware/bin-debug
327 # warning: SUID !!!
328 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
329
330 %files help
331 %defattr(644,root,root,755)
332 %{_libdir}/vmware/help*
333
334 %files networking
335 %defattr(644,root,root,755)
336 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
337 %attr(754,root,root) /etc/rc.d/init.d/vmnet
338 %attr(755,root,root) %{_bindir}/vmnet-bridge
339 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
340 %attr(755,root,root) %{_bindir}/vmnet-natd
341 %attr(755,root,root) %{_bindir}/vmnet-netifup
342 %attr(755,root,root) %{_bindir}/vmnet-sniffer
343 %attr(755,root,root) %{_bindir}/vmware-ping
344 %dir %{_sysconfdir}/vmware/vmnet8
345 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
346 %dir %{_sysconfdir}/vmware/vmnet8/nat
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
349 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
350
351 %endif
352
353 %if %{with kernel}
354 %files -n kernel%{_alt_kernel}-misc-vmmon
355 %defattr(644,root,root,755)
356 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
357
358 %files -n kernel%{_alt_kernel}-misc-vmnet
359 %defattr(644,root,root,755)
360 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
361
362 %endif
This page took 0.249781 seconds and 2 git commands to generate.