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