]> git.pld-linux.org Git - packages/VMware-player.git/blob - VMware-player.spec
- clean
[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.1
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,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
262 cp -r   lib/{bin-debug,config,help*,messages,xkeymap} \
263         $RPM_BUILD_ROOT%{_libdir}/vmware
264
265 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
266 VM_BINDIR=%{_bindir}
267 VM_LIBDIR=%{_libdir}/vmware
268 EOF
269
270 %if %{with internal_libs}
271 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
272 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
273 cp -r   lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
274 cp -r   lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
275 %else
276 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
277 %endif
278 %endif
279
280 %clean
281 rm -rf $RPM_BUILD_ROOT
282
283 %post networking
284 /sbin/chkconfig --add vmnet
285 %service vmnet restart "VMware networking service"
286
287 %preun networking
288 if [ "$1" = "0" ]; then
289         %service vmnet stop
290         /sbin/chkconfig --del vmnet
291 fi
292
293 %post   -n kernel%{_alt_kernel}-misc-vmmon
294 %depmod %{_kernel_ver}
295
296 %postun -n kernel%{_alt_kernel}-misc-vmmon
297 %depmod %{_kernel_ver}
298
299 %post   -n kernel%{_alt_kernel}-misc-vmnet
300 %depmod %{_kernel_ver}
301
302 %postun -n kernel%{_alt_kernel}-misc-vmnet
303 %depmod %{_kernel_ver}
304
305 %if %{with userspace}
306 %files
307 %defattr(644,root,root,755)
308 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
309 %dir %{_sysconfdir}/vmware
310 %{_sysconfdir}/vmware/locations
311 %attr(755,root,root) %{_bindir}/vmplayer
312 %dir %{_libdir}/vmware
313 %dir %{_libdir}/vmware/bin
314 # warning: SUID !!!
315 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
316 %{_libdir}/vmware/config
317 %if %{with internal_libs}
318 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
319 %dir %{_libdir}/vmware/lib
320 %{_libdir}/vmware/lib/lib*
321 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
322 %endif
323 %dir %{_libdir}/vmware/messages
324 %lang(ja) %{_libdir}/vmware/messages/ja
325 %{_libdir}/vmware/share
326 %{_libdir}/vmware/xkeymap
327 %attr(1777,root,root) %dir /var/run/vmware
328 %{_pixmapsdir}/*.png
329 %{_desktopdir}/%{name}.desktop
330
331 %files debug
332 %defattr(644,root,root,755)
333 %dir %{_libdir}/vmware/bin-debug
334 # warning: SUID !!!
335 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
336
337 %files help
338 %defattr(644,root,root,755)
339 %{_libdir}/vmware/help*
340
341 %files networking
342 %defattr(644,root,root,755)
343 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
344 %attr(754,root,root) /etc/rc.d/init.d/vmnet
345 %attr(755,root,root) %{_bindir}/vmnet-bridge
346 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
347 %attr(755,root,root) %{_bindir}/vmnet-natd
348 %attr(755,root,root) %{_bindir}/vmnet-netifup
349 %attr(755,root,root) %{_bindir}/vmnet-sniffer
350 %attr(755,root,root) %{_bindir}/vmware-ping
351 %dir %{_sysconfdir}/vmware/vmnet8
352 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
354 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
355
356 %endif
357
358 %if %{with kernel}
359 %files -n kernel%{_alt_kernel}-misc-vmmon
360 %defattr(644,root,root,755)
361 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
362
363 %files -n kernel%{_alt_kernel}-misc-vmnet
364 %defattr(644,root,root,755)
365 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
366
367 %endif
This page took 0.086744 seconds and 3 git commands to generate.