]> git.pld-linux.org Git - packages/VMware-player.git/blob - VMware-player.spec
- %install and %files fixes
[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 samba
109 Summary:        VMware SMB utilities
110 Summary(pl.UTF-8):      Narzędzia VMware do SMB
111 Group:          Applications/Emulators
112 Requires:       %{name} = %{version}-%{release}
113
114 %description samba
115 VMware SMB utilities.
116
117 %description samba -l pl.UTF-8
118 Narzędzia VMware do SMB.
119
120 %package -n kernel%{_alt_kernel}-misc-vmmon
121 Summary:        Kernel module for VMware Player
122 Summary(pl.UTF-8):      Moduł jądra dla VMware Player
123 Release:        %{_rel}@%{_kernel_ver_str}
124 Group:          Base/Kernel
125 Requires(post,postun):  /sbin/depmod
126 Requires:       dev >= 2.9.0-7
127 %if %{with dist_kernel}
128 %requires_releq_kernel
129 Requires(postun):       %releq_kernel
130 %endif
131 Provides:       kernel(vmmon) = %{version}-%{_rel}
132
133 %description -n kernel%{_alt_kernel}-misc-vmmon
134 Kernel modules for VMware Player - vmmon.
135
136 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
137 Moduły jądra dla VMware Player - vmmon.
138
139 %package -n kernel%{_alt_kernel}-misc-vmnet
140 Summary:        Kernel module for VMware Player
141 Summary(pl.UTF-8):      Moduł jądra dla VMware Player
142 Release:        %{_rel}@%{_kernel_ver_str}
143 Group:          Base/Kernel
144 Requires(post,postun):  /sbin/depmod
145 Requires:       dev >= 2.9.0-7
146 %if %{with dist_kernel}
147 %requires_releq_kernel
148 Requires(postun):       %releq_kernel
149 %endif
150 Provides:       kernel(vmnet) = %{version}-%{_rel}
151
152 %description -n kernel%{_alt_kernel}-misc-vmnet
153 Kernel modules for VMware Player - vmnet.
154
155 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
156 Moduły jądra dla VMware Player - vmnet.
157
158 %prep
159 %setup -q -n vmware-player-distrib -a2
160 cd vmware-any-any-update%{_urel}
161 tar xf vmmon.tar
162 tar xf vmnet.tar
163 cp -a vmmon-only{,.clean}
164 cp -a vmnet-only{,.clean}
165 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
166         -i vmnet-only.clean/Makefile.kernel
167 cd -
168
169 %build
170 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
171
172 cd vmware-any-any-update%{_urel}
173 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
174
175 %if %{with kernel}
176 rm -rf built
177 mkdir built
178
179 for mod in vmmon vmnet ; do
180         for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
181                 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
182                         exit 1
183                 fi
184                 rm -rf $mod-only
185                 cp -a $mod-only.clean $mod-only
186                 cd $mod-only
187                 install -d o/include/linux
188                 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
189                 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
190                 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
191         if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
192                 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
193                         -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
194                         -i ../vmmon-only/linux/driver.c
195                 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
196                         -i ../vmnet-only/hub.c
197                 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
198                         -i ../vmnet-only/driver.c
199         fi
200         %if %{with dist_kernel}
201                 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
202         %else
203                 install -d o/include/config
204                 touch o/include/config/MARKER
205                 ln -sf %{_kernelsrcdir}/scripts o/scripts
206                 %endif
207                 %{__make} -C %{_kernelsrcdir} modules \
208                         VMWARE_VER=VME_V5 \
209                         SRCROOT=$PWD \
210                         M=$PWD O=$PWD/o \
211                         VM_KBUILD=26 \
212                         %{?with_verbose:V=1} \
213                         VM_CCVER=%{_ccver}
214                 mv -f $mod.ko ../built/$mod-$cfg.ko
215                 cd -
216         done
217 done
218 %endif
219
220 %install
221 rm -rf $RPM_BUILD_ROOT
222
223 %if %{with userspace}
224 install -d \
225         $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
226         $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
227         $RPM_BUILD_ROOT%{_bindir} \
228         $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
229         $RPM_BUILD_ROOT%{_mandir} \
230         $RPM_BUILD_ROOT%{_pixmapsdir} \
231         $RPM_BUILD_ROOT%{_desktopdir} \
232         $RPM_BUILD_ROOT/etc/rc.d/init.d \
233         $RPM_BUILD_ROOT/var/run/vmware
234 %endif
235
236 %if %{with kernel}
237 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
238
239 cd vmware-any-any-update%{_urel}/built
240 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
241 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
242 cd -
243 %endif
244
245 %if %{with userspace}
246 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
247 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
248 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
249 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
250 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
251 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
252
253 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
254 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
255
256 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
257 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share
258
259 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
260 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
261 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
262 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
263
264 cp -r   lib/{bin-debug,config,help*,messages,xkeymap} \
265         $RPM_BUILD_ROOT%{_libdir}/vmware
266
267 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
268 VM_BINDIR=%{_bindir}
269 VM_LIBDIR=%{_libdir}/vmware
270 EOF
271
272 %if %{with internal_libs}
273 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
274 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
275 install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
276 cp -r   lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
277 %else
278 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
279 %endif
280 %endif
281
282 %clean
283 rm -rf $RPM_BUILD_ROOT
284
285 %post networking
286 /sbin/chkconfig --add vmnet
287 %service vmnet restart "VMware networking service"
288
289 %preun networking
290 if [ "$1" = "0" ]; then
291         %service vmnet stop
292         /sbin/chkconfig --del vmnet
293 fi
294
295 %post   -n kernel%{_alt_kernel}-misc-vmmon
296 %depmod %{_kernel_ver}
297
298 %postun -n kernel%{_alt_kernel}-misc-vmmon
299 %depmod %{_kernel_ver}
300
301 %post   -n kernel%{_alt_kernel}-misc-vmnet
302 %depmod %{_kernel_ver}
303
304 %postun -n kernel%{_alt_kernel}-misc-vmnet
305 %depmod %{_kernel_ver}
306
307 %if %{with userspace}
308 %files
309 %defattr(644,root,root,755)
310 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
311 %dir %{_sysconfdir}/vmware
312 %{_sysconfdir}/vmware/locations
313 %attr(755,root,root) %{_bindir}/vmplayer
314 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
315 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
316 %dir %{_libdir}/vmware
317 %dir %{_libdir}/vmware/bin
318 %dir %{_libdir}/vmware/lib
319 # warning: SUID !!!
320 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
321 %{_libdir}/vmware/config
322 %if %{with internal_libs}
323 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
324 %{_libdir}/vmware/lib/lib*
325 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
326 %endif
327 %dir %{_libdir}/vmware/messages
328 %lang(en) %{_libdir}/vmware/messages/en
329 %lang(ja) %{_libdir}/vmware/messages/ja
330 %{_libdir}/vmware/share
331 %{_libdir}/vmware/xkeymap
332 %attr(1777,root,root) %dir /var/run/vmware
333 %{_pixmapsdir}/*.png
334 %{_desktopdir}/%{name}.desktop
335
336 %files debug
337 %defattr(644,root,root,755)
338 %dir %{_libdir}/vmware/bin-debug
339 # warning: SUID !!!
340 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
341
342 %files help
343 %defattr(644,root,root,755)
344 %{_libdir}/vmware/help*
345
346 %files networking
347 %defattr(644,root,root,755)
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
349 %attr(754,root,root) /etc/rc.d/init.d/vmnet
350 %attr(755,root,root) %{_bindir}/vmnet-bridge
351 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
352 %attr(755,root,root) %{_bindir}/vmnet-natd
353 %attr(755,root,root) %{_bindir}/vmnet-netifup
354 %attr(755,root,root) %{_bindir}/vmnet-sniffer
355 %attr(755,root,root) %{_bindir}/vmware-ping
356 %dir %{_sysconfdir}/vmware/vmnet8
357 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
358 %dir %{_sysconfdir}/vmware/vmnet8/nat
359 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
360 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
361 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
362
363 %endif
364
365 %if %{with kernel}
366 %files -n kernel%{_alt_kernel}-misc-vmmon
367 %defattr(644,root,root,755)
368 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
369
370 %files -n kernel%{_alt_kernel}-misc-vmnet
371 %defattr(644,root,root,755)
372 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
373
374 %endif
This page took 0.075397 seconds and 4 git commands to generate.