Magellan Linux

Contents of /trunk/extras/virtualbox/virtualbox-4.1.51_svn40321-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11332 - (show annotations) (download)
Sat Mar 3 03:50:34 2012 UTC (12 years, 3 months ago) by niro
File size: 18041 byte(s)
-new wrapper version and filter --as-needed from LDFLAGS
1 # $Id$
2
3 PNAME="virtualbox"
4 PVER="4.1.51_svn40321"
5 PBUILD="r2"
6
7 SPLIT_PACKAGES="virtualbox xf86-video-virtualbox xf86-input-virtualbox virtualbox-guest-additions"
8
9 PCAT="app-emulation"
10 HOMEPAGE="http://www.virtualbox.de/"
11
12 # driver modules for xorg-server version
13 XORG_VER="1.11"
14
15 VBOX_DEPEND=">= dev-libs/libidl-0.8.14
16 >= media-libs/alsa-lib-1.0.24
17 >= media-libs/libsdl-1.2.14
18 >= media-sound/libpulse-1.1
19 >= x11-libs/qt4-core-4.8
20 >= x11-libs/qt4-gui-4.8
21 >= x11-libs/qt4-opengl-4.8
22 >= sys-apps/dbus-1.4
23 >= x11-libs/libXcursor-1
24 >= virtual/opengl
25 >= virtual/glut
26 >= dev-lang/python-2.7
27 >= net-misc/bridge-utils-1.4
28 >= sys-apps/usermode-utilities-2007
29 >= virtual/kernel-sources"
30 ADDITIONS_DEPEND=">= x11-libs/libXmu-1
31 >= x11-libs/libXt-1
32 >= x11-apps/xrandr-1.3
33 >= x11-apps/xrefresh-1
34 >= fake/devsystem
35 >= virtual/kernel-sources"
36 XLIBS_DEPEND=">= x11-libs/libXdmcp-1
37 >= x11-libs/libSM-1.1
38 >= x11-libs/libICE-1
39 >= x11-libs/libXau-1
40 >= x11-libs/libXdmcp-1
41 >= x11-libs/libX11-1.4
42 >= x11-libs/libXfixes-5
43 >= x11-libs/libXext-1.1"
44 XORG_DEPEND="== x11-base/xorg-server-${XORG_VER}"
45 VIDEO_DEPEND=">= x11-libs/libXcomposite-0.4
46 >= x11-libs/libdrm-2.4.26"
47 # vboxmouse_drv only needed with xorg =< 1.10
48 # for xorg-1.11 upstream suggest the normal mouse driver
49 if [[ ${XORG_VER//.} < 111 ]]
50 then
51 INPUT_DEPEND=""
52 else
53 INPUT_DEPEND=">= x11-drivers/xf86-input-mouse-1.7"
54 fi
55
56 SDEPEND="${VBOX_DEPEND}
57 ${ADDITIONS_DEPEND}
58 ${XLIBS_DEPEND}
59 ${XORG_DEPEND}
60 ${VIDEO_DEPEND}
61 ${INPUT_DEPEND}
62 >= dev-lang/bin86-0.16
63 >= dev-lang/dev86-0.16
64 >= dev-util/iasl-2009
65 >= dev-libs/libxml2-2.7
66 >= dev-util/desktop-file-utils-0.15
67 >= sys-apps/sed-4
68 >= x11-proto/fontsproto-2
69 >= x11-proto/renderproto-0.11
70 >= x11-proto/xineramaproto-1.2
71 >= x11-proto/randrproto-1.3
72 >= x11-proto/xproto-7
73 >= x11-proto/xextproto-7
74 >= x11-proto/kbproto-1
75 >= x11-proto/inputproto-2
76 >= x11-proto/xf86driproto-2.1
77 >= app-cdr/cdrtools-2.01
78 >= app-arch/makeself-2.1.5
79 >= virtual/java-jdk
80 >= net-misc/curl-7.22
81 >= net-nds/openldap-2.4"
82
83 SRCFILE="${PNAME}-${PVER}.tar.bz2"
84 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
85
86 # virtual box additions for guest clients
87 VBOX_ADDITIONS_PVER="4.1.8"
88 VBOX_ADDITIONS_ISO="VBoxGuestAdditions_${VBOX_ADDITIONS_PVER}.iso"
89 VBOX_USER_MANUAL_PVER="4.1.8"
90 VBOX_USER_MANUAL="UserManual.pdf"
91
92 # wrapper cvs revision
93 VW_CVS_REV=1.8
94 # config-tool cvs revision
95 VC_CVS_REV=1.17
96 # video module compile script cvs revision
97 MOD_VIDEO_REV=1.2
98 # guest module compile script cvs revision
99 MOD_GUEST_REV=1.2
100 # sf module compile script cvs revision
101 MOD_SF_REV=1.2
102
103 # needed for postinstall
104 SPECIAL_VARS="VBOX_USER_MANUAL"
105
106 sminclude mtools xdg qt4
107
108 SRC_URI=(
109 http://download.virtualbox.org/${PNAME}/${PVER}/${SRCFILE}
110 http://download.virtualbox.org/${PNAME}/${VBOX_ADDITIONS_PVER}/${VBOX_ADDITIONS_ISO}
111 http://download.virtualbox.org/${PNAME}/${VBOX_USER_MANUAL_PVER}/${VBOX_USER_MANUAL}
112 mirror://${PNAME}/${PVER}/${SRCFILE}
113 mirror://${PNAME}/${SRCFILE}
114 mirror://${PNAME}/${VBOX_ADDITIONS_PVER}/${VBOX_ADDITIONS_ISO}
115 mirror://${PNAME}/${VBOX_USER_MANUAL_PVER}/${VBOX_USER_MANUAL}
116 mirror://${PNAME}/${PNAME}-wrapper.sh-${VW_CVS_REV}
117 mirror://${PNAME}/${PNAME}-config.sh-${VC_CVS_REV}
118 mirror://${PNAME}/interfaces
119 mirror://${PNAME}/vboxvideo.sh-${MOD_VIDEO_REV}
120 mirror://${PNAME}/vboxguest.sh-${MOD_GUEST_REV}
121 mirror://${PNAME}/vboxsf.sh-${MOD_SF_REV}
122 mirror://${PNAME}/xorg.conf.vbox
123 mirror://${PNAME}/vboxclient.desktop
124 mirror://${PNAME}/vboxguest.service
125 mirror://${PNAME}/${PNAME}-1.5.4-magellan.patch
126 mirror://${PNAME}/${PNAME}-${PVER}-magellan-branding.patch
127 mirror://${PNAME}/${PNAME}-4.0.0-magellan-os-icons.patch
128 mirror://${PNAME}/${PNAME}-4.0.10-additions-magellan.patch
129 mirror://${PNAME}/${PNAME}-4.0.0-vboxdrv-magellan.patch
130 mirror://${PNAME}/${PNAME}-4.0.10-routines-magellan.patch
131 )
132
133 UP2DATE="updatecmd http://www.virtualbox.de/wiki/Downloads | grep 'for Linux' | sed 's/.*ox\ \(.*\)\ for.*/\1/'"
134
135 split_info_virtualbox()
136 {
137 DESCRIPTION="VirtualBox is a general-purpose full virtualizer for x86 hardware."
138 PCAT="app-emulation"
139 DEPEND="${VBOX_DEPEND}"
140 }
141
142 split_info_virtualbox-guest-additions()
143 {
144 DESCRIPTION="VirtualBox kernel modules and user-space tools for Linux guests."
145 PCAT="app-emulation"
146 # vboxmouse_drv only needed with xorg =< 1.10
147 # for xorg-1.11 upstream suggest the normal mouse driver
148 if [[ ${XORG_VER//.} < 111 ]]
149 then
150 DEPEND="== x11-drivers/xf86-video-virtualbox-${PVER}
151 == x11-drivers/xf86-input-virtualbox-${PVER}
152 ${XLIBS_DEPEND}
153 ${ADDITIONS_DEPEND}"
154 else
155 DEPEND="== x11-drivers/xf86-video-virtualbox-${PVER}
156 ${INPUT_DEPEND}
157 ${XLIBS_DEPEND}
158 ${ADDITIONS_DEPEND}"
159 fi
160 }
161
162 split_info_xf86-video-virtualbox()
163 {
164 DESCRIPTION="VirtualBox X11 video driver."
165 PCAT="x11-drivers"
166 DEPEND="${XLIBS_DEPEND}
167 ${VIDEO_DEPEND}
168 ${XORG_DEPEND}"
169 }
170
171 split_info_xf86-input-virtualbox()
172 {
173 DESCRIPTION="VirtualBox X11 mouse driver."
174 PCAT="x11-drivers"
175
176 # vboxmouse_drv only needed with xorg =< 1.10
177 # for xorg-1.11 upstream suggest the normal mouse driver
178 if [[ ${XORG_VER//.} < 111 ]]
179 then
180 DEPEND="${XORG_DEPEND}"
181 else
182 DEPEND="${XORG_DEPEND}
183 ${INPUT_DEPEND}"
184 # virtualize this package!
185 PKGTYPE="virtual"
186 fi
187 }
188
189 src_prepare()
190 {
191 munpack ${SRCFILE} || die
192 cd ${SRCDIR}
193
194 # add magellan support to VBoxSysInfo.sh
195 mpatch ${PNAME}-1.5.4-magellan.patch || die
196
197 # magellan-branding, enables "magellan" guest-definitions
198 mpatch ${PNAME}-${PVER}-magellan-branding.patch || die
199
200 # magellan-branding, adds magellan icons used in branding patch
201 mpatch -Np1 ${PNAME}-4.0.0-magellan-os-icons.patch || die
202
203 # add magellan support to additions installers
204 mpatch ${PNAME}-4.0.10-additions-magellan.patch || die
205
206 # add magellan support to vboxdrv and webservice installer
207 mpatch ${PNAME}-4.0.0-vboxdrv-magellan.patch || die
208
209 # add magellan support to balloon-driver, routines webservice rc
210 mpatch ${PNAME}-4.0.10-routines-magellan.patch || die
211
212 # fixes compile issues with qt on magellan
213 # create a fake qtdir to fix /usr/include/qt issue without patching
214 install -d ${SRCDIR}/qt || die
215 ln -snf ${QTDIR}/bin ${SRCDIR}/qt || die
216 ln -snf ${QTDIR}/$(mlibdir) ${SRCDIR}/qt/lib || die
217 ln -snf ${QTDIR}/include/qt ${SRCDIR}/qt/include || die
218
219 # do not build testcases to save compile time
220 local MCONFIG="${SRCDIR}/LocalConfig.kmk"
221 mclearconfig -b
222 maddconfig -b 'VBOX_WITH_TESTCASES :='
223 maddconfig -b 'VBOX_WITH_TESTSUITE :='
224 # tell vbox where to find java
225 maddconfig -b "VBOX_JAVA_HOME = ${JAVA_HOME}"
226 # paths, origin, hardening
227 maddconfig -b 'VBOX_WITH_HARDENING := 1'
228 maddconfig -b 'VBOX_WITH_ORIGIN :='
229 maddconfig -b "VBOX_PATH_APP_PRIVATE_ARCH := /usr/$(mlibdir)/virtualbox"
230 maddconfig -b 'VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)'
231 maddconfig -b 'VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)'
232 maddconfig -b 'VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox'
233 maddconfig -b 'VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS)'
234 }
235
236 src_compile()
237 {
238 cd ${SRCDIR}
239
240 # filter --as-needed
241 export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
242
243 # use our fake qt dir and enable pulseaudio support, but don't build docs
244 ./configure --with-qt-dir="${SRCDIR}/qt" --enable-pulse --disable-docs || die
245 source ./env.sh || die
246 kmk ${MAKEOPTS} || die
247 }
248
249 src_install_virtualbox()
250 {
251 # virtualbox installs binaries in x86 or amd64 out dir
252 local myarch
253 case ${ARCH} in
254 i*86) myarch=x86;;
255 x86_64) myarch=amd64;;
256 esac
257
258 cd ${SRCDIR}/out/linux.${myarch}/release/bin
259
260 # needed directories
261 minstalldir /lib/udev/rules.d || die
262 minstalldir /etc/vbox || die
263 minstalldir /usr/$(mlibdir)/${PNAME} || die
264 minstalldir /usr/bin || die
265 minstalldir /usr/sbin || die
266
267 # prune unneeded stuff
268 rm -vf tst* || die
269 rm -rvf testcase || die
270 rm -rvf sdk || die
271
272 # move binaries to dest
273 cp -av * ${BINDIR}/usr/$(mlibdir)/${PNAME} || die
274
275 # fix permissions
276 chmod -v 0755 ${BINDIR}/usr/$(mlibdir)/${PNAME}/{,additions/}*.so || die
277
278 # remove additions
279 rm -rv ${BINDIR}/usr/$(mlibdir)/${PNAME}/additions/* || die
280
281 # fix permissions
282 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VirtualBox || die
283 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxBFE || die
284 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxSDL || die
285 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxHeadless || die
286 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxManage || die
287 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxSVC || die
288 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxXPCOMIPCD || die
289 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxTunctl || die
290 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxNetAdpCtl || die
291 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxNetDHCP || die
292 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxNetAdpCtl || die
293 mchown root:vboxusers /usr/$(mlibdir)/${PNAME}/VBoxTestOGL || die
294
295 # virtualbox needs now suid-bits to run
296 mchmod 4750 /usr/$(mlibdir)/${PNAME}/VirtualBox || die
297 mchmod 4750 /usr/$(mlibdir)/${PNAME}/VBoxBFE || die
298 mchmod 4750 /usr/$(mlibdir)/${PNAME}/VBoxSDL || die
299 mchmod 4750 /usr/$(mlibdir)/${PNAME}/VBoxHeadless || die
300 mchmod 4750 /usr/$(mlibdir)/${PNAME}/VBoxNetAdpCtl || die
301 mchmod 4750 /usr/$(mlibdir)/${PNAME}/VBoxNetDHCP || die
302
303 # supply a additions.iso for client guest
304 minstallfile -s ${VBOX_ADDITIONS_ISO} /usr/$(mlibdir)/${PNAME}/additions/${VBOX_ADDITIONS_ISO/_${PVER}/} || die
305
306 # install a wrapper for some apps
307 minstallexec -s ${PNAME}-wrapper.sh-${VW_CVS_REV} /usr/bin/virtualbox || die
308 minstallexec -s ${PNAME}-wrapper.sh-${VW_CVS_REV} /usr/bin/vboxmanage || die
309 minstallexec -s ${PNAME}-wrapper.sh-${VW_CVS_REV} /usr/bin/vboxsdl || die
310 minstallexec -s ${PNAME}-wrapper.sh-${VW_CVS_REV} /usr/bin/vboxbfe || die
311 minstallexec -s ${PNAME}-wrapper.sh-${VW_CVS_REV} /usr/bin/vboxvrdp || die
312 minstallexec -s ${PNAME}-wrapper.sh-${VW_CVS_REV} /usr/bin/vboxheadless || die
313
314 # virtualbox-config
315 minstallexec -s ${PNAME}-config.sh-${VC_CVS_REV} /usr/sbin/${PNAME}-config || die
316
317 # versionfile needed by virtualbox-config
318 echo "${PVER%%_*}" > ${BINDIR}/usr/$(mlibdir)/${PNAME}/version || die
319
320 # configfile needed by serveral tools
321 echo "INSTALL_DIR=/usr/$(mlibdir)/virtualbox" > ${BINDIR}/etc/vbox/vbox.cfg || die
322
323 # other needed applinks
324 mlink /usr/$(mlibdir)/${PNAME}/VBoxTunctl /usr/bin/vboxtunctl || die
325
326 # fix libdir
327 local i
328 for i in virtualbox vboxmanage vboxsdl vboxbfe vboxvrdp vboxheadless
329 do
330 sed -i "s:^\(LIBDIR=\).*:\1/usr/$(mlibdir):" ${BINDIR}/usr/bin/${i} || die
331 done
332 sed -i "s:^\(LIBDIR=\).*:\1/usr/$(mlibdir):" ${BINDIR}/usr/sbin/${PNAME}-config || die
333
334 # install a udev rule
335 local MCONFIG="/lib/udev/rules.d/60-virtualbox.rules"
336 mclearconfig
337 maddconfig 'KERNEL=="vboxdrv", GROUP="vboxusers" MODE=660'
338 # solves some problems with usb support on guest systems
339 maddconfig 'SUBSYSTEM=="usb_device", ACTION!="remove", RUN="/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"'
340 maddconfig 'SUBSYSTEM=="usb", ACTION!="remove", ENV{DEVTYPE}=="usb_device", RUN="/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"'
341 maddconfig 'SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor"'
342 maddconfig 'SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor"'
343
344 # symlink helperscript to udev
345 minstalldir /lib/udev || die
346 mlink /usr/$(mlibdir)/virtualbox/VBoxCreateUSBNode.sh /lib/udev/ || die
347
348 # install a nice destop entry
349 minstallpixmap ${SRCDIR}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_64px.png ${PNAME}.png || die
350 minstall_desktop_icon \
351 --name VirtualBox \
352 --file ${PNAME} \
353 --comment "Run and manage virtual machines" \
354 --exec ${PNAME} \
355 --icon ${PNAME}.png \
356 --vendor innotek \
357 --categories System,Emulator \
358 || die
359
360 # docs
361 cd ${SRCDIR}
362 minstalldocs ChangeLog COPYING || die
363
364 # install usermanual
365 minstallfile -s ${VBOX_USER_MANUAL} /usr/share/doc/${PNAME}-${PVER} || die
366 }
367
368 src_install_virtualbox-guest-additions()
369 {
370 # virtualbox installs binaries in x86 or amd64 out dir
371 local myarch
372 case ${ARCH} in
373 i*86) myarch=x86;;
374 x86_64) myarch=amd64;;
375 esac
376
377 cd ${SRCDIR}/out/linux.${myarch}/release/bin/additions
378
379 # needed directories
380 minstalldir /lib/udev/rules.d || die
381 minstalldir /etc/xdg/autostart || die
382 minstalldir /usr/bin || die
383 minstalldir /usr/$(mlibdir)/virtualbox/additions || die
384 minstalldir /usr/sbin || die
385 minstalldir /usr/share/doc/${PNAME}-${PVER}
386 minstalldir /usr/src/vboxguest || die
387 minstalldir /usr/src/vboxsf || die
388 minstalldir /sbin || die
389
390 minstallexec mount.vboxsf /sbin || die
391 mchmod 4755 /sbin/mount.vboxsf
392
393 minstallexec VBoxService /usr/sbin/vboxguest-service || die
394 mchmod 4755 /usr/sbin/vboxguest-service || die
395
396 minstallexec VBoxControl /usr/bin || die
397 minstallexec VBoxClient /usr/bin || die
398 minstallexec ${SRCDIR}/src/VBox/Additions/x11/Installer/98vboxadd-xclient /usr/bin/VBoxClient-all || die
399
400 # udev rule for vboxdrv
401 local MCONFIG="/lib/udev/rules.d/60-virtualbox-guest-addition.rules"
402 mclearconfig
403 maddconfig 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"'
404 maddconfig 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"'
405
406 # VBoxClient autostart file
407 minstallfile -s vboxclient.desktop /etc/xdg/autostart || die
408
409 # sample xorg.conf
410 minstallfile -s xorg.conf.vbox /usr/share/doc/${PNAME}-${PVER} || die
411
412 # install systemd unit
413 minstallunit vboxguest.service || die
414
415 # install vboxguest kernel sources
416 cd ${SRCDIR}/out/linux.${myarch}/release/bin/additions/src/
417 tar cvjf ${BINDIR}/usr/src/vboxguest/vboxguest-${PVER}.tar.bz2 vboxguest/ || die
418 minstallexec -s vboxguest.sh-${MOD_GUEST_REV} /usr/src/vboxguest/vboxguest.sh || die
419 # fix pver in vboxguest.sh
420 sed -i "s:@@PVER@@:${PVER}:" ${BINDIR}/usr/src/vboxguest/vboxguest.sh || die
421
422 # install vboxsf kernel sources
423 cd ${SRCDIR}/out/linux.${myarch}/release/bin/additions/src/
424 tar cvjf ${BINDIR}/usr/src/vboxsf/vboxsf-${PVER}.tar.bz2 vboxsf/ || die
425 minstallexec -s vboxsf.sh-${MOD_SF_REV} /usr/src/vboxsf/vboxsf.sh || die
426 # fix pver in vboxsf.sh
427 sed -i "s:@@PVER@@:${PVER}:" ${BINDIR}/usr/src/vboxsf/vboxsf.sh || die
428 }
429
430 src_install_xf86-video-virtualbox()
431 {
432 # virtualbox installs binaries in x86 or amd64 out dir
433 local myarch
434 case ${ARCH} in
435 i*86) myarch=x86;;
436 x86_64) myarch=amd64;;
437 esac
438
439 cd ${SRCDIR}/out/linux.${myarch}/release/bin/additions
440
441 # needed directories
442 minstalldir /usr/$(mlibdir)/dri || die
443 minstalldir /usr/$(mlibdir)/xorg/modules/drivers || die
444 minstalldir /usr/src/vboxvideo || die
445
446 # install xorg server module
447 minstallfile vboxvideo_drv_${XORG_VER//.}.so /usr/$(mlibdir)/xorg/modules/drivers/vboxvideo_drv.so || die
448
449 # install guest opengl driver
450 minstallfile VBoxOGL\* /usr/$(mlibdir) || die
451
452 # install guest dri driver
453 mlink /usr/$(mlibdir)/VBoxOGL.so /usr/$(mlibdir)/dri/vboxvideo_dri.so
454
455 # install drm-sources
456 cd ${SRCDIR}/out/linux.${myarch}/release/bin/additions/src/
457 tar cvjf ${BINDIR}/usr/src/vboxvideo/vboxvideo-${PVER}.tar.bz2 vboxvideo/ || die
458 minstallexec -s vboxvideo.sh-${MOD_VIDEO_REV} /usr/src/vboxvideo/vboxvideo.sh || die
459 # fix pver in vboxvideo.sh
460 sed -i "s:@@PVER@@:${PVER}:" ${BINDIR}/usr/src/vboxvideo/vboxvideo.sh || die
461 }
462
463 # vboxmouse_drv only needed with xorg =< 1.10
464 # for xorg-1.11 upstream suggest the normal mouse driver
465 if [[ ${XORG_VER//.} < 111 ]]
466 then
467 src_install_xf86-input-virtualbox()
468 {
469 # virtualbox installs binaries in x86 or amd64 out dir
470 local myarch
471 case ${ARCH} in
472 i*86) myarch=x86;;
473 x86_64) myarch=amd64;;
474 esac
475
476 cd ${SRCDIR}/out/linux.${myarch}/release/bin/additions
477
478 # needed directories
479 minstalldir /usr/$(mlibdir)/xorg/modules/input || die
480
481 # install xorg server module
482 minstallfile vboxmouse_drv_${XORG_VER//.}.so /usr/$(mlibdir)/xorg/modules/input/vboxmouse_drv.so || die
483
484 # install xorg conf
485 minstalldir /etc/X11/xorg.conf.d || die
486 minstallfile ${SRCDIR}/src/VBox/Additions/x11/Installer/50-vboxmouse.conf /etc/X11/xorg.conf.d || die
487
488 # install udev rules
489 minstalludevrule ${SRCDIR}/src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules || die
490 }
491 else
492 src_install_xf86-input-virtualbox()
493 {
494 echo "doing nothing"
495 }
496 postinstall_xf86-input-virtualbox()
497 {
498 echo
499 echo "'x11-drivers/xf86-input-virtualbox' is not needed with >=xorg-server-1.11 anymore."
500 echo "The standard xf86-input-mouse driver was installed and supports all needed features."
501 echo "This is a transition package only. Please uninstall 'xf86-input-virtualbox' now."
502 echo
503 }
504 fi
505
506 preinstall_virtualbox()
507 {
508 # adds virtualbox group
509 ${MLIBDIR}/mgroupadd vboxusers
510 }
511
512 postinstall_virtualbox()
513 {
514 echo
515 echo "Please run virtualbox-config and add your users the 'vboxusers' group."
516 echo "For more information consult the user manual found at"
517 echo " http://virtualbox.de/download/${VBOX_USER_MANUAL}"
518 echo "or /usr/share/docs/${PNAME}-${PVER}/${VBOX_USER_MANUAL}"
519 echo
520 if [[ -d ${MROOT}/usr/$(mlibdir)/virtualbox/ExtensionPacks ]]
521 then
522 echo "ExtensionPacks directory exists!"
523 echo "Make sure that you have a version of the extension-pack installed that matches virtualbox."
524 echo "If you experience segfaults, uninstall the extersion-packs first before filing a bug."
525 echo
526 fi
527 }
528
529 postinstall_xf86-video-virtualbox()
530 {
531 echo "You need to compile the DRM module manually."
532 echo "Run /usr/src/vboxvideo/vboxvideo.sh after installation."
533 }
534
535 preinstall_virtualbox-guest-additions()
536 {
537 # adds vboxguest user/group
538 ${MLIBDIR}/mgroupadd vboxguest
539 ${MLIBDIR}/museradd -o "-g vboxguest -d /var/run/vboxguest -s /bin/sh" vboxguest
540 }
541
542 postinstall_virtualbox-guest-additions()
543 {
544 mstartunit vboxguest.service vboxguest-service
545
546 echo
547 echo "You need to compile the kernel modules manually."
548 echo "Run /usr/src/vboxsf/vboxsf.sh and /usr/src/vboxguest/vboxguest.sh"
549 echo "after installation and restart the vboxguest-service:"
550 echo " systemctl restart vboxguest.service"
551 echo
552 }
553
554 postremove_virtualbox-guest-additions()
555 {
556 mstopunit vboxguest.service vboxguest-service
557 }