]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
- -module-build requires -headers
[packages/VirtualBox.git] / VirtualBox.spec
1 #
2 # TODO:
3 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
4 # - Package SDK.
5 # - Package utils (and write initscripts ?) for Guest OS.
6 # - Check License of VBoxGuestAdditions_*.iso, it's propably not GPL v2.
7 #   If so check if it is distributable.
8 #
9 # Conditional build:
10 %bcond_without  dist_kernel     # without distribution kernel
11 %bcond_without  kernel          # don't build kernel module
12 %bcond_without  userspace       # don't build userspace package
13
14 %define         rel             5
15
16 %if %{without kernel}
17 %undefine       with_dist_kernel
18 %endif
19
20 %if "%{_alt_kernel}" != "%{nil}"
21 %undefine       with_userspace
22 %endif
23
24 %define         pname   VirtualBox
25
26 Summary:        VirtualBox OSE - x86 hardware virtualizer
27 Summary(pl.UTF-8):      VirtualBox OSE - wirtualizator sprzętu x86
28 Name:           %{pname}%{_alt_kernel}
29 Version:        1.6.0
30 Release:        %{rel}
31 License:        GPL v2
32 Group:          Applications/Emulators
33 # Source can't be downloaded directly anymore, you may get it manually from
34 # http://www.virtualbox.org/wiki/Downloads
35 Source0:        %{pname}-%{version}-OSE.tar.bz2
36 # Source0-md5:  44692aa0e7a8cb6bb36f367d67d78d6a
37 Source1:        http://www.virtualbox.org/download/%{version}/UserManual.pdf
38 # Source1-md5:  e21694fd087b42173bca3fc9af068f22
39 Source2:        http://www.virtualbox.org/download/%{version}/VBoxGuestAdditions_%{version}.iso
40 # Source2-md5:  e90b718aa806845194fd411e3dbf78ff
41 Source3:        %{pname}-vboxdrv.init
42 Source4:        %{pname}-vboxadd.init
43 Source5:        %{pname}.desktop
44 Source6:        %{pname}.sh
45 Patch0:         %{pname}-configure.patch
46 Patch1:         %{pname}-qt-paths.patch
47 Patch2:         %{pname}-shared-libstdc++.patch
48 Patch3:         %{pname}-disable-xclient-build.patch
49 Patch4:         %{pname}-configure-spaces.patch
50 Patch5:         %{pname}-no-screen-size-limit.patch
51 URL:            http://www.virtualbox.org/
52 %if %{with userspace}
53 BuildRequires:  SDL-devel >= 1.2.7
54 BuildRequires:  alsa-lib-devel >= 1.0.6
55 BuildRequires:  bash
56 BuildRequires:  bcc
57 BuildRequires:  bin86
58 BuildRequires:  gcc >= 5:3.2.3
59 BuildRequires:  iasl
60 %endif
61 %if %{with dist_kernel}
62 BuildRequires:  kernel%{_alt_kernel}-module-build >= 3:2.6.20
63 %endif
64 %if %{with userspace}
65 BuildRequires:  Qt3Support-devel
66 BuildRequires:  libIDL-devel
67 BuildRequires:  libpng >= 1.2.5
68 BuildRequires:  libstdc++-devel >= 5:3.2.3
69 BuildRequires:  libuuid-devel
70 BuildRequires:  libxml2-devel >= 2.6.26
71 BuildRequires:  libxslt-devel >= 1.1.17
72 BuildRequires:  libxslt-progs >= 1.1.17
73 BuildRequires:  pkgconfig
74 BuildRequires:  pulseaudio-devel >= 0.9.0
75 BuildRequires:  qt-devel >= 6:3.3.6
76 BuildRequires:  qt-linguist
77 BuildRequires:  qt4-build >= 4.2.0
78 %endif
79 BuildRequires:  rpmbuild(macros) >= 1.379
80 %if %{with userspace}
81 BuildRequires:  which
82 BuildRequires:  xalan-c-devel >= 1.10.0
83 BuildRequires:  xerces-c-devel >= 2.6.0
84 BuildRequires:  xorg-lib-libXcursor-devel
85 BuildRequires:  zlib-devel >= 1.2.1
86 %ifarch %{x8664}
87 BuildRequires:  gcc-multilib
88 BuildRequires:  glibc-devel(i686)
89 BuildRequires:  libstdc++-multilib-devel
90 %endif
91 %endif
92 Requires(post,preun):   /sbin/chkconfig
93 Requires(postun):       /usr/sbin/groupdel
94 Requires(pre):  /usr/bin/getgid
95 Requires(pre):  /usr/sbin/groupadd
96 Suggests:       gxmessage
97 Provides:       group(vbox)
98 ExclusiveArch:  %{ix86} %{x8664}
99 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100
101 %ifarch %{x8664}
102 %define         outdir  amd64
103 %else
104 %define         outdir  x86
105 %endif
106
107 %description
108 InnoTek VirtualBox OSE is a general-purpose full virtualizer for x86
109 hardware. Targeted at server, desktop and embedded use, it is now the
110 only professional-quality virtualization solution that is also Open
111 Source Software.
112
113 Some of the features of VirtualBox OSE are:
114
115 Modularity: VirtualBox OSE has an extremely modular design with
116 well-defined internal programming interfaces and a client/server
117 design. This makes it easy to control it from several interfaces at
118 once: for example, you can start a virtual machine in a typical
119 virtual machine GUI and then control that machine from the command
120 line. VirtualBox OSE also comes with a full Software Development Kit:
121 even though it is Open Source Software, you don't have to hack the
122 source to write a new interface for VirtualBox OSE.
123
124 Virtual machine descriptions in XML: the configuration settings of
125 virtual machines are stored entirely in XML and are independent of the
126 local machines. Virtual machine definitions can therefore easily be
127 ported to other computers.
128
129 %description -l pl.UTF-8
130 InnoTek VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
131 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
132 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
133 również jako Otwarte Oprogramowanie.
134
135 Przykładowe cechy VirtualBoksa:
136
137 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
138 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
139 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
140 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
141 poziomu interfejsu graficznego, a później kontrolować ją z linii
142 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
143 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
144 wirtualną.
145
146 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
147 wirtualnych są w całości przechowywane w XML-u i są niezależne od
148 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
149 konfigurację maszyny wirtualnej na inny komputer.
150
151 %package udev
152 Summary:        udev rules for VirtualBox OSE kernel modules
153 Summary(pl.UTF-8):      Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
154 Release:        %{rel}
155 Group:          Base/Kernel
156 Requires:       udev
157
158 %description udev
159 udev rules for VirtualBox OSE kernel modules.
160
161 %description udev -l pl.UTF-8
162 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
163
164 %package -n kernel%{_alt_kernel}-misc-vboxadd
165 Summary:        Linux kernel module for VirtualBox OSE
166 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
167 Release:        %{rel}@%{_kernel_ver_str}
168 Group:          Base/Kernel
169 Requires(post,postun):  /sbin/depmod
170 Requires:       dev >= 2.9.0-7
171 %if %{with dist_kernel}
172 %requires_releq_kernel
173 #Requires(postun):      %%releq_kernel
174 %endif
175 Provides:       kernel(vboxadd) = %{version}-%{rel}
176
177 %description -n kernel%{_alt_kernel}-misc-vboxadd
178 Linux kernel module vboxadd for VirtualBox OSE.
179
180 %description -n kernel%{_alt_kernel}-misc-vboxadd -l pl.UTF-8
181 Moduł jądra Linuksa vboxadd dla VirtualBoksa.
182
183 %package -n kernel%{_alt_kernel}-misc-vboxdrv
184 Summary:        Linux kernel module for VirtualBox OSE
185 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
186 Release:        %{rel}@%{_kernel_ver_str}
187 Group:          Base/Kernel
188 Requires(post,postun):  /sbin/depmod
189 Requires:       dev >= 2.9.0-7
190 %if %{with dist_kernel}
191 %requires_releq_kernel
192 Requires(postun):       %releq_kernel
193 %endif
194 Provides:       kernel(vboxdrv) = %{version}-%{rel}
195
196 %description -n kernel%{_alt_kernel}-misc-vboxdrv
197 Linux kernel module vboxdrv for VirtualBox OSE.
198
199 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
200 Moduł jądra Linuksa vboxdrv dla VirtualBoksa.
201
202 %package -n kernel%{_alt_kernel}-misc-vboxvfs
203 Summary:        Linux kernel module for VirtualBox OSE
204 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
205 Release:        %{rel}@%{_kernel_ver_str}
206 Group:          Base/Kernel
207 Requires(post,postun):  /sbin/depmod
208 Requires:       dev >= 2.9.0-7
209 %if %{with dist_kernel}
210 %requires_releq_kernel
211 Requires(postun):       %releq_kernel
212 %endif
213 Provides:       kernel(vboxvfs) = %{version}-%{rel}
214
215 %description -n kernel%{_alt_kernel}-misc-vboxvfs
216 Linux kernel module vboxvfs for VirtualBox OSE.
217
218 %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
219 Moduł jądra Linuksa vboxvfs dla VirtualBoksa.
220
221 %package -n xorg-driver-input-vboxmouse
222 Summary:        X.org mouse driver for VirtualBox OSE guest OS
223 Summary(pl.UTF-8):      Sterownik myszy dla systemu gościa w VirtualBoksie
224 Release:        %{rel}
225 Group:          X11/Applications
226 Requires:       xorg-xserver-server >= 1.0.99.901
227
228 %description -n xorg-driver-input-vboxmouse
229 X.org mouse driver for VirtualBox OSE guest OS.
230
231 %description -n xorg-driver-input-vboxmouse  -l pl.UTF-8
232 Sterownik myszy dla systemu gościa w VirtualBoksie.
233
234 %package -n xorg-driver-video-vboxvideo
235 Summary:        X.org video driver for VirtualBox OSE guest OS
236 Summary(pl.UTF-8):      Sterownik grafiki dla systemu gościa w VirtualBoksie
237 Release:        %{rel}
238 Group:          X11/Applications
239 Requires:       xorg-xserver-server >= 1.0.99.901
240
241 %description -n xorg-driver-video-vboxvideo
242 X.org video driver for VirtualBox OSE guest OS.
243
244 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
245 Sterownik grafiki dla systemu gościa w VirtualBoksie.
246
247 %prep
248 %setup -q -n %{pname}-%{version}_OSE
249 %patch0 -p0
250 %patch1 -p0
251 %patch2 -p1
252
253 %ifarch %{x8664}
254 %patch3 -p1
255 %endif
256
257 %patch4 -p1
258 %patch5 -p1
259
260 cat <<'EOF' > udev.conf
261 KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660"
262 KERNEL=="vboxadd", NAME="%k", GROUP="vbox", MODE="0660"
263 EOF
264
265 install %{SOURCE1} .
266
267 rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
268 ../src/VBox/Additions/linux/export_modules modules.tar.gz
269         tar -zxf modules.tar.gz && rm -f modules.tar.gz
270 ../src/VBox/HostDrivers/Support/linux/export_modules modules.tar.gz && \
271         tar -zxf modules.tar.gz && rm -f modules.tar.gz
272
273 %ifarch %{x8664}
274 # HACK, is this really safe on x86_64?
275 sed -i -e '/#.*define.*RTMEMALLOC_EXEC_HEAP/d' vboxadd/r0drv/linux/alloc-r0drv-linux.c vboxvfs/r0drv/linux/alloc-r0drv-linux.c
276 %endif
277
278 %build
279 %if %{with userspace}
280 ./configure \
281         --with-gcc="%{__cc}" \
282         --with-g++="%{__cxx}" \
283         --disable-kmods
284
285 . ./env.sh && kmk -j1
286 %endif
287
288 %if %{with kernel}
289 cd PLD-MODULE-BUILD
290 %build_kernel_modules -m vboxadd -C vboxadd
291 %build_kernel_modules -m vboxdrv -C vboxdrv
292 cp -a vboxadd/Module.symvers vboxvfs
293 %build_kernel_modules -m vboxvfs -C vboxvfs -c
294 cd ..
295 %endif
296
297 %install
298 rm -rf $RPM_BUILD_ROOT
299
300 %if %{with userspace}
301 install -d \
302         $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \
303         $RPM_BUILD_ROOT%{_libdir}/VirtualBox
304
305 install %{SOURCE6} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/VirtualBox-wrapper.sh
306 for f in {VBox{BFE,Manage,SDL,SVC,XPCOMIPCD},VirtualBox,vditool}; do
307         install out/linux.%{outdir}/release/bin/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f
308         ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
309 done
310
311 %ifarch %{x8664}
312 install out/linux.%{outdir}/release/bin/VBox*.rel \
313         $RPM_BUILD_ROOT%{_libdir}/VirtualBox
314 %endif
315
316 install out/linux.%{outdir}/release/bin/VBox*.so \
317         $RPM_BUILD_ROOT%{_libdir}/VirtualBox
318 install out/linux.%{outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0},*.xpt} \
319         $RPM_BUILD_ROOT%{_libdir}/VirtualBox
320
321 install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions
322 install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
323
324 install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
325 cp -a out/linux.%{outdir}/release/bin/components $RPM_BUILD_ROOT%{_libdir}/VirtualBox
326 cp -a out/linux.%{outdir}/release/bin/nls/* $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls
327
328 install out/linux.%{outdir}/release/bin/additions/mountvboxsf           \
329         $RPM_BUILD_ROOT%{_bindir}
330
331 %ifnarch %{x8664}
332 install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,input}
333 install out/linux.%{outdir}/release/bin/additions/vboxmouse_drv_14.so   \
334         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input/vboxmouse_drv.so
335 install out/linux.%{outdir}/release/bin/additions/vboxvideo_drv_14.so   \
336         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
337 %endif
338
339 install out/linux.%{outdir}/release/bin/VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
340 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}/%{pname}.desktop
341
342 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
343 install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
344 %endif
345
346 %if %{with kernel}
347 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
348 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
349 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxadd
350 %install_kernel_modules -m PLD-MODULE-BUILD/vboxadd/vboxadd -d misc
351 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
352 %install_kernel_modules -m PLD-MODULE-BUILD/vboxvfs/vboxvfs -d misc
353 %endif
354
355 %clean
356 rm -rf $RPM_BUILD_ROOT
357
358 %pre
359 %groupadd -g 221 -r -f vbox
360
361 %postun
362 if [ "$1" = "0" ]; then
363         %groupremove vbox
364 fi
365
366 %post   -n kernel%{_alt_kernel}-misc-vboxadd
367 %depmod %{_kernel_ver}
368 /sbin/chkconfig --add vboxadd
369 %service vboxadd restart "VirtualBox OSE guest additions driver"
370
371 %postun -n kernel%{_alt_kernel}-misc-vboxadd
372 %depmod %{_kernel_ver}
373
374 %preun -n kernel%{_alt_kernel}-misc-vboxadd
375 if [ "$1" = "0" ]; then
376         %service vboxadd stop
377         /sbin/chkconfig --del vboxadd
378 fi
379
380 %post   -n kernel%{_alt_kernel}-misc-vboxdrv
381 %depmod %{_kernel_ver}
382 /sbin/chkconfig --add vboxdrv
383 %service vboxdrv restart "VirtualBox OSE driver"
384
385 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
386 %depmod %{_kernel_ver}
387
388 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
389 if [ "$1" = "0" ]; then
390         %service vboxdrv stop
391         /sbin/chkconfig --del vboxdrv
392 fi
393
394 %post   -n kernel%{_alt_kernel}-misc-vboxvfs
395 %depmod %{_kernel_ver}
396
397 %postun -n kernel%{_alt_kernel}-misc-vboxvfs
398 %depmod %{_kernel_ver}
399
400 %if %{with userspace}
401 %files
402 %defattr(644,root,root,755)
403 %doc UserManual.pdf
404 %dir %{_libdir}/VirtualBox
405 %dir %{_libdir}/VirtualBox/additions
406 %dir %{_libdir}/VirtualBox/components
407 %dir %{_libdir}/VirtualBox/nls
408 %attr(755,root,root) %{_bindir}/mountvboxsf
409 %attr(755,root,root) %{_bindir}/vditool
410 %attr(755,root,root) %{_bindir}/VBox*
411 %attr(755,root,root) %{_bindir}/VirtualBox
412 %attr(755,root,root) %{_libdir}/VirtualBox/vditool
413 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
414 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
415 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
416 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
417 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
418 %attr(755,root,root) %{_libdir}/VirtualBox/VBox*.so
419 %ifarch %{x8664}
420 %attr(755,root,root) %{_libdir}/VirtualBox/VBox*.rel
421 %endif
422 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
423 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
424 %{_libdir}/VirtualBox/*.gc
425 %{_libdir}/VirtualBox/*.r0
426 %{_libdir}/VirtualBox/*.xpt
427 %{_libdir}/VirtualBox/additions/*
428 %{_libdir}/VirtualBox/components/*
429 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
430 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
431 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
432 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
433 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
434 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
435 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
436 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
437 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
438 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
439 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
440 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
441 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
442 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
443 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
444 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
445 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
446 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
447 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
448 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
449 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
450 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
451 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
452 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
453 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
454 %{_pixmapsdir}/VBox.png
455 %{_desktopdir}/%{pname}.desktop
456
457 %files udev
458 %defattr(644,root,root,755)
459 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
460
461 # Drivers are for Guest OS, which is 32-bit.
462 %ifnarch %{x8664}
463 %files -n xorg-driver-input-vboxmouse
464 %defattr(644,root,root,755)
465 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
466
467 %files -n xorg-driver-video-vboxvideo
468 %defattr(644,root,root,755)
469 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
470 %endif
471 %endif
472
473 %if %{with kernel}
474 %files -n kernel%{_alt_kernel}-misc-vboxadd
475 %defattr(644,root,root,755)
476 %attr(754,root,root) /etc/rc.d/init.d/vboxadd
477 /lib/modules/%{_kernel_ver}/misc/vboxadd.ko*
478
479 %files -n kernel%{_alt_kernel}-misc-vboxdrv
480 %defattr(644,root,root,755)
481 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
482 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
483
484 %files -n kernel%{_alt_kernel}-misc-vboxvfs
485 %defattr(644,root,root,755)
486 /lib/modules/%{_kernel_ver}/misc/vboxvfs.ko*
487 %endif
This page took 0.122618 seconds and 4 git commands to generate.