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