]> git.pld-linux.org Git - packages/VMware-workstation.git/blob - VMware-workstation.spec
- changes that allows to build on AMD64 (thx to sebastian at oclab.ano.pl)
[packages/VMware-workstation.git] / VMware-workstation.spec
1 #
2 # TODO:
3 #       - Dependencies
4 #       - http://www.vmware.com/support/ws45/doc/devices_linux_kb_ws.html#1040861
5 #
6 # Conditional build:
7 %bcond_with     internal_libs   # internal libs stuff
8 %bcond_without  dist_kernel     # without distribution kernel
9 %bcond_without  smp             # without SMP kernel modules
10 #
11 %include        /usr/lib/rpm/macros.perl
12 #
13 %define         _ver    4.5.2
14 %define         _build  8848
15 %define         _rel    5
16 %define         _urel   84
17 #
18 Summary:        VMware Workstation
19 Summary(pl):    VMware Workstation - wirtualna platforma dla stacji roboczej
20 Name:           VMware-workstation
21 Version:        %{_ver}.%{_build}
22 Release:        %{_rel}
23 License:        custom, non-distributable
24 Group:          Applications/Emulators
25 Source0:        http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
26 Source1:        http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
27 # Source1-md5:  e8fb10c1f2fe8ae5a0d573b6551361c8
28 # Source1-size: 263743
29 Source2:        %{name}.init
30 Source3:        %{name}-vmnet.conf
31 Source4:        %{name}.png
32 Source5:        %{name}.desktop
33 Source6:        %{name}-nat.conf
34 Source7:        %{name}-dhcpd.conf
35 Patch0:         %{name}-Makefile.patch
36 Patch1:         %{name}-compat.patch
37 Patch2:         %{name}-run_script.patch
38 Patch3:         %{name}-module_desc.patch
39 NoSource:       0
40 #Icon:          XPM format req.
41 URL:            http://www.vmware.com/
42 BuildRequires:  gcc-c++
43 BuildRequires:  rpm-perlprov
44 BuildRequires:  rpmbuild(macros) >= 1.153
45 BuildRequires:  %{kgcc_package}
46 Requires:       kernel(vmmon) = %{version}-%{_rel}
47 %{?with_dist_kernel:BuildRequires:      kernel-module-build >= 2.6.7}
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
51
52 %description
53 VMware Workstation Virtual Platform is a thin software layer that
54 allows multiple guest operating systems to run concurrently on a
55 single standard PC, without repartitioning or rebooting, and without
56 significant loss of performance.
57
58 %description -l pl
59 VMware Workstation Virtual Platform to cienka warstwa oprogramowania
60 pozwalaj±ca na jednoczesne dzia³anie wielu go¶cinnych systemów
61 operacyjnych na jednym zwyk³ym PC, bez repartycjonowania ani
62 rebootowania, bez znacznej utraty wydajno¶ci.
63
64 %package debug
65 Summary:        VMware debug utility
66 Summary(pl):    Narzêdzie VMware do odpluskwiania
67 Group:          Applications/Emulators
68 Requires:       %{name} = %{version}-%{release}
69
70 %description debug
71 VMware debug utility.
72
73 %description debug -l pl
74 Narzêdzie VMware do odpluskwiania.
75
76 %package help
77 Summary:        VMware Workstation help files
78 Summary(pl):    Pliki pomocy dla VMware Workstation
79 Group:          Applications/Emulators
80 Requires:       %{name} = %{version}-%{release}
81 Requires:       mozilla
82
83 %description help
84 VMware Workstation help files.
85
86 %description help -l pl
87 Pliki pomocy dla VMware Workstation.
88
89 %package networking
90 Summary:        VMware networking utilities
91 Summary(pl):    Narzêdzia VMware do obs³ugi sieci
92 Group:          Applications/Emulators
93 Requires:       %{name} = %{version}-%{release}
94 Requires:       kernel(vmnet) = %{version}-%{_rel}
95
96 %description networking
97 VMware networking utilities.
98
99 %description networking -l pl
100 Narzêdzia VMware do obs³ugi sieci.
101
102 %package samba
103 Summary:        VMware SMB utilities
104 Summary(pl):    Narzêdzia VMware do SMB
105 Group:          Applications/Emulators
106 Requires:       %{name} = %{version}-%{release}
107
108 %description samba
109 VMware SMB utilities.
110
111 %description samba -l pl
112 Narzêdzia VMware do SMB.
113
114 %package -n kernel-misc-vmmon
115 Summary:        Kernel module for VMware Workstation
116 Summary(pl):    Modu³ j±dra dla VMware Workstation
117 Release:        %{_rel}@%{_kernel_ver_str}
118 Group:          Base/Kernel
119 Provides:       kernel(vmmon) = %{version}-%{_rel}
120 Requires:       dev >= 2.9.0-7
121 Requires(post,postun):  /sbin/depmod
122 %{?with_dist_kernel:%requires_releq_kernel_up}
123
124 %description -n kernel-misc-vmmon
125 Kernel modules for VMware Workstation - vmmon.
126
127 %description -n kernel-misc-vmmon -l pl
128 Modu³y j±dra dla VMware Workstation - vmmon.
129
130 %package -n kernel-misc-vmnet
131 Summary:        Kernel module for VMware Workstation
132 Summary(pl):    Modu³ j±dra dla VMware Workstation
133 Release:        %{_rel}@%{_kernel_ver_str}
134 Group:          Base/Kernel
135 Provides:       kernel(vmnet) = %{version}-%{_rel}
136 Requires:       dev >= 2.9.0-7
137 Requires(post,postun):  /sbin/depmod
138 %{?with_dist_kernel:%requires_releq_kernel_up}
139
140 %description -n kernel-misc-vmnet
141 Kernel modules for VMware Workstation - vmnet.
142
143 %description -n kernel-misc-vmnet -l pl
144 Modu³y j±dra dla VMware Workstation - vmnet.
145
146 %package -n kernel-smp-misc-vmmon
147 Summary:        SMP kernel module for VMware Workstation
148 Summary(pl):    Modu³ j±dra SMP dla VMware Workstation
149 Release:        %{_rel}@%{_kernel_ver_str}
150 Group:          Base/Kernel
151 Provides:       kernel(vmmon) = %{version}-%{_rel}
152 Requires(post,postun):  /sbin/depmod
153 %{?with_dist_kernel:%requires_releq_kernel_smp}
154
155 %description -n kernel-smp-misc-vmmon
156 SMP kernel modules fov VMware Workstation - vmmon-smp.
157
158 %description -n kernel-smp-misc-vmmon -l pl
159 Modu³y j±dra SMP dla VMware Workstation - vmmon-smp.
160
161 %package -n kernel-smp-misc-vmnet
162 Summary:        SMP kernel module for VMware Workstation
163 Summary(pl):    Modu³ j±dra SMP dla VMware Workstation
164 Release:        %{_rel}@%{_kernel_ver_str}
165 Group:          Base/Kernel
166 Provides:       kernel(vmnet) = %{version}-%{_rel}
167 Requires(post,postun):  /sbin/depmod
168 %{?with_dist_kernel:%requires_releq_kernel_smp}
169
170 %description -n kernel-smp-misc-vmnet
171 SMP kernel module for VMware Workstation - vmnet-smp.
172
173 %description -n kernel-smp-misc-vmnet -l pl
174 Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
175
176 %prep
177 %setup -q -n vmware-distrib
178 %setup -qDT -n vmware-distrib -a1
179 cd vmware-any-any-update%{_urel}
180 tar xf vmmon.tar
181 tar xf vmnet.tar
182 %patch0 -p0
183 %patch1 -p0
184 %patch3 -p0
185 cd -
186 %patch2 -p1
187
188 %build
189 cd vmware-any-any-update%{_urel}
190 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
191
192 rm update
193 %{_cc} -o update        update.c
194 ./update vmx            ../lib/bin/vmware-vmx
195 ./update vmxdebug       ../lib/bin-debug/vmware-vmx
196 ./update bridge         ../bin/vmnet-bridge
197
198 rm -rf built
199 mkdir built
200 cp -a vmmon-only vmmon-only.clean
201 cp -a vmnet-only vmnet-only.clean
202 for mod in vmmon vmnet ; do
203         for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
204                 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
205                         exit 1
206                 fi
207                 rm -rf $mod-only
208                 cp -a $mod-only.clean $mod-only
209                 cd $mod-only
210                 install -d include/{linux,config}
211                 touch include/config/MARKER
212                 ln -sf %{_kernelsrcdir}/config-$cfg .config
213                 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
214                 ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
215                 %{__make} -C %{_kernelsrcdir} modules \
216                         VMWARE_VER=VME_V452 \
217                         M=$PWD O=$PWD \
218                         VM_KBUILD=26
219                 mv -f $mod.ko ../built/$mod-$cfg.ko
220                 cd -
221         done
222 done
223 cd -
224
225 %install
226 rm -rf $RPM_BUILD_ROOT
227 install -d \
228         $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
229         $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
230         $RPM_BUILD_ROOT%{_bindir} \
231         $RPM_BUILD_ROOT%{_libdir}/vmware/bin \
232         $RPM_BUILD_ROOT%{_mandir} \
233         $RPM_BUILD_ROOT%{_pixmapsdir} \
234         $RPM_BUILD_ROOT%{_desktopdir} \
235         $RPM_BUILD_ROOT/etc/rc.d/init.d \
236         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc \
237         $RPM_BUILD_ROOT/var/run/vmware
238
239 cd vmware-any-any-update%{_urel}
240 install built/vmmon-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
241         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
242 install built/vmnet-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
243         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
244 %if %{with smp} && %{with dist_kernel}
245 install built/vmmon-smp.ko \
246         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.ko
247 install built/vmnet-smp.ko \
248         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko
249 %endif
250 cd -
251
252 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
253 install %{SOURCE3} $RPM_BUILD_ROOT/etc/vmware/vmnet.conf
254 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
255 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
256 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
257 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
258
259 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
260 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
261
262 cp      bin/*-* $RPM_BUILD_ROOT%{_bindir}
263
264 cp      lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
265
266 cp -r   lib/bin/vmware-vmx \
267         $RPM_BUILD_ROOT%{_libdir}/vmware/bin
268
269 cp -r   lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,smb,xkeymap} \
270         $RPM_BUILD_ROOT%{_libdir}/vmware
271
272 cp -r   man/* $RPM_BUILD_ROOT%{_mandir}
273 gunzip  $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
274
275 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
276 VM_BINDIR=%{_bindir}
277 VM_LIBDIR=%{_libdir}/vmware
278 EOF
279
280 %if %{with internal_libs}
281 cp      bin/vmware $RPM_BUILD_ROOT%{_bindir}/vmware.sh
282 cp -r   lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
283 %endif
284
285 %clean
286 rm -rf $RPM_BUILD_ROOT
287
288 %post networking
289 /sbin/chkconfig --add vmnet
290 if [ -r /var/lock/subsys/vmnet ]; then
291         /etc/rc.d/init.d/vmnet restart >&2
292 else
293         echo "Run \"/etc/rc.d/init.d/vmnet start\" to start VMware networking service."
294 fi
295
296 %preun networking
297 if [ "$1" = "0" ]; then
298         if [ -r /var/lock/subsys/vmnet ]; then
299                 /etc/rc.d/init.d/vmnet stop >&2
300         fi
301         /sbin/chkconfig --del vmnet
302 fi
303
304 %post   -n kernel-misc-vmmon
305 %depmod %{_kernel_ver}
306
307 %postun -n kernel-misc-vmmon
308 %depmod %{_kernel_ver}
309
310 %post   -n kernel-misc-vmnet
311 %depmod %{_kernel_ver}
312
313 %postun -n kernel-misc-vmnet
314 %depmod %{_kernel_ver}
315
316 %post   -n kernel-smp-misc-vmmon
317 %depmod %{_kernel_ver}smp
318
319 %postun -n kernel-smp-misc-vmmon
320 %depmod %{_kernel_ver}smp
321
322 %post   -n kernel-smp-misc-vmnet
323 %depmod %{_kernel_ver}smp
324
325 %postun -n kernel-smp-misc-vmnet
326 %depmod %{_kernel_ver}smp
327
328 %files
329 %defattr(644,root,root,755)
330 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
331 %dir %{_sysconfdir}/vmware
332 %{_sysconfdir}/vmware/locations
333 %attr(755,root,root) %{_bindir}/vmware
334 %{?with_internal_libs:%attr(755,root,root) %{_bindir}/vmware.sh}
335 %attr(755,root,root) %{_bindir}/vmware-loop
336 %attr(755,root,root) %{_bindir}/vmware-mount.pl
337 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
338 %dir %{_libdir}/vmware
339 %dir %{_libdir}/vmware/bin
340 # warning: SUID !!!
341 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
342 %{_libdir}/vmware/config
343 %{_libdir}/vmware/floppies
344 %{_libdir}/vmware/isoimages
345 %{?with_internal_libs:%{_libdir}/vmware/lib}
346 %{_libdir}/vmware/licenses
347 %dir %{_libdir}/vmware/messages
348 %{_libdir}/vmware/messages/en
349 %lang(ja) %{_libdir}/vmware/messages/ja
350 %{_libdir}/vmware/xkeymap
351 %{_mandir}/man1/*
352 %attr(1777,root,root) %dir /var/run/vmware
353 %{_pixmapsdir}/*.png
354 %{_desktopdir}/%{name}.desktop
355
356 %files debug
357 %defattr(644,root,root,755)
358 %dir %{_libdir}/vmware/bin-debug
359 # warning: SUID !!!
360 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
361
362 %files help
363 %defattr(644,root,root,755)
364 %{_libdir}/vmware/help*
365
366 %files networking
367 %defattr(644,root,root,755)
368 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vmware/vmnet.conf
369 %attr(754,root,root) /etc/rc.d/init.d/vmnet
370 %attr(755,root,root) %{_bindir}/vmnet-bridge
371 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
372 %attr(755,root,root) %{_bindir}/vmnet-natd
373 %attr(755,root,root) %{_bindir}/vmnet-netifup
374 %attr(755,root,root) %{_bindir}/vmnet-sniffer
375 %attr(755,root,root) %{_bindir}/vmware-ping
376 %{_sysconfdir}/vmware/vmnet8
377 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
378 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
379 %verify(not size mtime md5) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
380
381 %files samba
382 %defattr(644,root,root,755)
383 %doc lib/configurator/vmnet-smb.conf
384 %attr(755,root,root) %{_bindir}/vmware-nmbd
385 %attr(755,root,root) %{_bindir}/vmware-smbd
386 %attr(755,root,root) %{_bindir}/vmware-smbpasswd
387 %attr(755,root,root) %{_bindir}/vmware-smbpasswd.bin
388 %{_libdir}/vmware/smb
389
390 %files -n kernel-misc-vmmon
391 %defattr(644,root,root,755)
392 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
393
394 %files -n kernel-misc-vmnet
395 %defattr(644,root,root,755)
396 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
397
398 %if %{with smp} && %{with dist_kernel}
399 %files  -n kernel-smp-misc-vmmon
400 %defattr(644,root,root,755)
401 /lib/modules/%{_kernel_ver}smp/misc/vmmon.ko*
402
403 %files  -n kernel-smp-misc-vmnet
404 %defattr(644,root,root,755)
405 /lib/modules/%{_kernel_ver}smp/misc/vmnet.ko*
406 %endif
This page took 0.055647 seconds and 3 git commands to generate.