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