Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-bin/
Date: Tue, 25 Feb 2020 17:15:58
Message-Id: 1582650947.e4a3a55744d830c30d160100a3382bc3c68733f8.polynomial-c@gentoo
1 commit: e4a3a55744d830c30d160100a3382bc3c68733f8
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 25 17:12:39 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 25 17:15:47 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4a3a557
7
8 app-emulation/virtualbox-bin: RDEPEND on acct-group/vboxusers
9
10 Package-Manager: Portage-2.3.89, Repoman-2.3.20
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 .../virtualbox-bin-6.0.16.135674-r1.ebuild | 292 +++++++++++++++++++++
14 .../virtualbox-bin-6.1.4.136177-r1.ebuild | 292 +++++++++++++++++++++
15 2 files changed, 584 insertions(+)
16
17 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.0.16.135674-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.16.135674-r1.ebuild
18 new file mode 100644
19 index 00000000000..0b44094702c
20 --- /dev/null
21 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.16.135674-r1.ebuild
22 @@ -0,0 +1,292 @@
23 +# Copyright 1999-2020 Gentoo Authors
24 +# Distributed under the terms of the GNU General Public License v2
25 +
26 +EAPI=6
27 +
28 +PYTHON_COMPAT=( python2_7 )
29 +
30 +inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
31 +
32 +MAIN_PV="$(ver_cut 1-3)"
33 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
34 + MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
35 + MY_PV="${MY_PV/beta/BETA}"
36 + MY_PV="${MY_PV/rc/RC}"
37 +else
38 + MY_PV="${MAIN_PV}"
39 + KEYWORDS="~amd64" #~x86
40 +fi
41 +VBOX_BUILD_ID="$(ver_cut 4)"
42 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
43 +MY_P="VirtualBox-${VBOX_PV}-Linux"
44 +# needed as sometimes the extpack gets another build ID
45 +EXTP_PV="${VBOX_PV}"
46 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
47 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
48 +# needed as sometimes the SDK gets another build ID
49 +SDK_PV="${VBOX_PV}"
50 +SDK_P="VirtualBoxSDK-${SDK_PV}"
51 +
52 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
53 +HOMEPAGE="https://www.virtualbox.org/"
54 +SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
55 + https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
56 + #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
57 +
58 +LICENSE="GPL-2 PUEL"
59 +SLOT="0"
60 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
61 +RESTRICT="bindist mirror"
62 +
63 +if [[ "${PV}" != *beta* ]] ; then
64 + SRC_URI+="
65 + sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
66 + IUSE+=" sdk"
67 +fi
68 +
69 +DEPEND="app-arch/unzip
70 + ${PYTHON_DEPS}"
71 +
72 +RDEPEND="!!app-emulation/virtualbox
73 + !app-emulation/virtualbox-additions
74 + acct-group/vboxusers
75 + ~app-emulation/virtualbox-modules-${MAIN_PV}
76 + !headless? (
77 + dev-libs/glib
78 + media-libs/fontconfig
79 + media-libs/freetype
80 + media-libs/libpng
81 + media-libs/libsdl[X]
82 + x11-libs/libXcursor
83 + x11-libs/libXext
84 + x11-libs/libXfixes
85 + x11-libs/libXft
86 + x11-libs/libXi
87 + x11-libs/libXinerama
88 + x11-libs/libXrandr
89 + x11-libs/libXrender
90 + chm? ( dev-libs/expat )
91 + )
92 + dev-libs/libxml2
93 + sys-fs/lvm2
94 + x11-libs/libXau
95 + x11-libs/libX11
96 + x11-libs/libXt
97 + x11-libs/libXmu
98 + x11-libs/libSM
99 + x11-libs/libICE
100 + x11-libs/libXdmcp
101 + ${PYTHON_DEPS}"
102 +
103 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
104 +S="${WORKDIR}"
105 +
106 +QA_PREBUILT="opt/VirtualBox/*"
107 +
108 +PYTHON_UPDATER_IGNORE="1"
109 +
110 +src_unpack() {
111 + unpack_makeself ${MY_P}_${ARCH}.run
112 + unpack ./VirtualBox.tar.bz2
113 +
114 + mkdir "${S}"/${EXTP_PN} || die
115 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
116 + unpack ${EXTP_P}.tar.gz
117 + popd &>/dev/null || die
118 +
119 + if [[ "${PV}" != *beta* ]] && use sdk ; then
120 + unpack VirtualBoxSDK-${SDK_PV}.zip
121 + fi
122 +}
123 +
124 +src_configure() {
125 + :;
126 +}
127 +
128 +src_compile() {
129 + :;
130 +}
131 +
132 +src_install() {
133 + # create virtualbox configurations files
134 + insinto /etc/vbox
135 + newins "${FILESDIR}/${PN}-config" vbox.cfg
136 +
137 + if ! use headless ; then
138 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
139 +
140 + # set up symlinks (bug #572012)
141 + dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
142 +
143 + local size ico icofile
144 + for size in 16 24 32 48 64 72 96 128 256 ; do
145 + pushd "${S}"/icons/${size}x${size} &>/dev/null || die
146 + if [[ -f "virtualbox.png" ]] ; then
147 + doicon -s ${size} virtualbox.png
148 + fi
149 + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
150 + icofile="virtualbox-${ico}.png"
151 + if [[ -f "${icofile}" ]] ; then
152 + doicon -s ${size} ${icofile}
153 + fi
154 + done
155 + popd &>/dev/null || die
156 + done
157 + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
158 + insinto /usr/share/pixmaps
159 + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
160 + fi
161 +
162 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
163 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
164 + doins -r linux.${ARCH}
165 + doins ExtPack* PXE-Intel.rom
166 + popd &>/dev/null || die
167 + rm -rf "${S}"/${EXTP_PN}
168 +
169 + insinto /opt/VirtualBox
170 + dodir /opt/bin
171 +
172 + doins UserManual.pdf
173 +
174 + if [[ "${PV}" != *beta* ]] && use sdk ; then
175 + doins -r sdk
176 + fi
177 +
178 + if use additions; then
179 + doins -r additions
180 + fi
181 +
182 + if use vboxwebsrv; then
183 + doins vboxwebsrv
184 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
185 + fperms 0750 /opt/VirtualBox/vboxwebsrv
186 + dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
187 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
188 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
189 + fi
190 +
191 + if use rdesktop-vrdp; then
192 + doins rdesktop-vrdp
193 + doins -r rdesktop-vrdp-keymaps
194 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
195 + dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
196 + fi
197 +
198 + if ! use headless && use chm; then
199 + doins kchmviewer VirtualBox.chm
200 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
201 + fperms 0750 /opt/VirtualBox/kchmviewer
202 + fi
203 +
204 + # This ebuild / package supports only py2.7. When py3 comes is unknown.
205 + # The compile phase makes VBoxPython2_7.so.
206 + # py3 support would presumably require a binary pre-compiled by py3.
207 + use python && doins VBoxPython.so
208 +
209 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
210 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
211 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
212 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
213 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
214 + VBoxPython?_*.so
215 +
216 + if use headless ; then
217 + rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
218 + fi
219 +
220 + doins -r *
221 +
222 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
223 + dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
224 + dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
225 + dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
226 + dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
227 + dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
228 +
229 + local each
230 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
231 + fowners root:vboxusers /opt/VirtualBox/${each}
232 + fperms 0750 /opt/VirtualBox/${each}
233 + pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
234 + done
235 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
236 + for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
237 + fowners root:vboxusers /opt/VirtualBox/${each}
238 + fperms 4750 /opt/VirtualBox/${each}
239 + pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
240 + done
241 +
242 + if ! use headless ; then
243 + # Hardened build: Mark selected binaries set-user-ID-on-execution
244 + for each in VBox{SDL,Headless} ; do
245 + fowners root:vboxusers /opt/VirtualBox/${each}
246 + fperms 4510 /opt/VirtualBox/${each}
247 + pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
248 + done
249 +
250 + dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
251 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
252 + else
253 + # Hardened build: Mark selected binaries set-user-ID-on-execution
254 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
255 + fperms 4510 /opt/VirtualBox/VBoxHeadless
256 + pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
257 + fi
258 +
259 + exeinto /opt/VirtualBox
260 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
261 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
262 + fperms 0750 /opt/VirtualBox/VBox.sh
263 +
264 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
265 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
266 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
267 + dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
268 +
269 + # set an env-variable for 3rd party tools
270 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
271 + doenvd "${T}/90virtualbox"
272 +
273 + local udevdir="$(get_udevdir)"
274 + insinto ${udevdir}/rules.d
275 + doins "${FILESDIR}"/10-virtualbox.rules
276 + sed "s@%UDEVDIR%@${udevdir}@" \
277 + -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
278 + # move udev scripts into ${udevdir} (bug #372491)
279 + mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
280 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
281 +}
282 +
283 +pkg_postinst() {
284 + xdg_icon_cache_update
285 + xdg_desktop_database_update
286 + xdg_mimeinfo_database_update
287 +
288 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
289 +
290 + elog ""
291 + if ! use headless ; then
292 + elog "To launch VirtualBox just type: \"VirtualBox\""
293 + elog ""
294 + fi
295 + elog "You must be in the vboxusers group to use VirtualBox."
296 + elog ""
297 + elog "For advanced networking setups you should emerge:"
298 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
299 + elog ""
300 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
301 + elog "an overview about the different features of ${PN}"
302 + elog "and virtualbox-ose"
303 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
304 + elog ""
305 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
306 + elog "or else USB in ${PN} won't work."
307 + fi
308 +}
309 +
310 +pkg_postrm() {
311 + xdg_icon_cache_update
312 + xdg_desktop_database_update
313 + xdg_mimeinfo_database_update
314 +}
315
316 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.1.4.136177-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.4.136177-r1.ebuild
317 new file mode 100644
318 index 00000000000..067dfbaf487
319 --- /dev/null
320 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.4.136177-r1.ebuild
321 @@ -0,0 +1,292 @@
322 +# Copyright 1999-2020 Gentoo Authors
323 +# Distributed under the terms of the GNU General Public License v2
324 +
325 +EAPI=6
326 +
327 +PYTHON_COMPAT=( python2_7 )
328 +
329 +inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
330 +
331 +MAIN_PV="$(ver_cut 1-3)"
332 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
333 + MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
334 + MY_PV="${MY_PV/beta/BETA}"
335 + MY_PV="${MY_PV/rc/RC}"
336 +else
337 + MY_PV="${MAIN_PV}"
338 + KEYWORDS="~amd64" #~x86
339 +fi
340 +VBOX_BUILD_ID="$(ver_cut 4)"
341 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
342 +MY_P="VirtualBox-${VBOX_PV}-Linux"
343 +# needed as sometimes the extpack gets another build ID
344 +EXTP_PV="${VBOX_PV}"
345 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
346 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
347 +# needed as sometimes the SDK gets another build ID
348 +SDK_PV="${VBOX_PV}"
349 +SDK_P="VirtualBoxSDK-${SDK_PV}"
350 +
351 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
352 +HOMEPAGE="https://www.virtualbox.org/"
353 +SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
354 + https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
355 + #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
356 +
357 +LICENSE="GPL-2 PUEL"
358 +SLOT="0"
359 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
360 +RESTRICT="bindist mirror"
361 +
362 +if [[ "${PV}" != *beta* ]] ; then
363 + SRC_URI+="
364 + sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
365 + IUSE+=" sdk"
366 +fi
367 +
368 +DEPEND="app-arch/unzip
369 + ${PYTHON_DEPS}"
370 +
371 +RDEPEND="!!app-emulation/virtualbox
372 + !app-emulation/virtualbox-additions
373 + acct-group/vboxusers
374 + ~app-emulation/virtualbox-modules-${MY_PV,,}
375 + !headless? (
376 + dev-libs/glib
377 + media-libs/fontconfig
378 + media-libs/freetype
379 + media-libs/libpng
380 + media-libs/libsdl[X]
381 + x11-libs/libXcursor
382 + x11-libs/libXext
383 + x11-libs/libXfixes
384 + x11-libs/libXft
385 + x11-libs/libXi
386 + x11-libs/libXinerama
387 + x11-libs/libXrandr
388 + x11-libs/libXrender
389 + chm? ( dev-libs/expat )
390 + )
391 + dev-libs/libxml2
392 + sys-fs/lvm2
393 + x11-libs/libXau
394 + x11-libs/libX11
395 + x11-libs/libXt
396 + x11-libs/libXmu
397 + x11-libs/libSM
398 + x11-libs/libICE
399 + x11-libs/libXdmcp
400 + ${PYTHON_DEPS}"
401 +
402 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
403 +S="${WORKDIR}"
404 +
405 +QA_PREBUILT="opt/VirtualBox/*"
406 +
407 +PYTHON_UPDATER_IGNORE="1"
408 +
409 +src_unpack() {
410 + unpack_makeself ${MY_P}_${ARCH}.run
411 + unpack ./VirtualBox.tar.bz2
412 +
413 + mkdir "${S}"/${EXTP_PN} || die
414 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
415 + unpack ${EXTP_P}.tar.gz
416 + popd &>/dev/null || die
417 +
418 + if [[ "${PV}" != *beta* ]] && use sdk ; then
419 + unpack VirtualBoxSDK-${SDK_PV}.zip
420 + fi
421 +}
422 +
423 +src_configure() {
424 + :;
425 +}
426 +
427 +src_compile() {
428 + :;
429 +}
430 +
431 +src_install() {
432 + # create virtualbox configurations files
433 + insinto /etc/vbox
434 + newins "${FILESDIR}/${PN}-config" vbox.cfg
435 +
436 + if ! use headless ; then
437 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
438 +
439 + # set up symlinks (bug #572012)
440 + dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
441 +
442 + local size ico icofile
443 + for size in 16 24 32 48 64 72 96 128 256 ; do
444 + pushd "${S}"/icons/${size}x${size} &>/dev/null || die
445 + if [[ -f "virtualbox.png" ]] ; then
446 + doicon -s ${size} virtualbox.png
447 + fi
448 + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
449 + icofile="virtualbox-${ico}.png"
450 + if [[ -f "${icofile}" ]] ; then
451 + doicon -s ${size} ${icofile}
452 + fi
453 + done
454 + popd &>/dev/null || die
455 + done
456 + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
457 + insinto /usr/share/pixmaps
458 + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
459 + fi
460 +
461 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
462 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
463 + doins -r linux.${ARCH}
464 + doins ExtPack* PXE-Intel.rom
465 + popd &>/dev/null || die
466 + rm -rf "${S}"/${EXTP_PN}
467 +
468 + insinto /opt/VirtualBox
469 + dodir /opt/bin
470 +
471 + doins UserManual.pdf
472 +
473 + if [[ "${PV}" != *beta* ]] && use sdk ; then
474 + doins -r sdk
475 + fi
476 +
477 + if use additions; then
478 + doins -r additions
479 + fi
480 +
481 + if use vboxwebsrv; then
482 + doins vboxwebsrv
483 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
484 + fperms 0750 /opt/VirtualBox/vboxwebsrv
485 + dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
486 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
487 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
488 + fi
489 +
490 + if use rdesktop-vrdp; then
491 + doins rdesktop-vrdp
492 + doins -r rdesktop-vrdp-keymaps
493 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
494 + dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
495 + fi
496 +
497 + if ! use headless && use chm; then
498 + doins kchmviewer VirtualBox.chm
499 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
500 + fperms 0750 /opt/VirtualBox/kchmviewer
501 + fi
502 +
503 + # This ebuild / package supports only py2.7. When py3 comes is unknown.
504 + # The compile phase makes VBoxPython2_7.so.
505 + # py3 support would presumably require a binary pre-compiled by py3.
506 + use python && doins VBoxPython.so
507 +
508 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
509 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
510 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
511 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
512 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
513 + VBoxPython?_*.so
514 +
515 + if use headless ; then
516 + rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
517 + fi
518 +
519 + doins -r *
520 +
521 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
522 + dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
523 + dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
524 + dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
525 + dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
526 + dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
527 +
528 + local each
529 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
530 + fowners root:vboxusers /opt/VirtualBox/${each}
531 + fperms 0750 /opt/VirtualBox/${each}
532 + pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
533 + done
534 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
535 + for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
536 + fowners root:vboxusers /opt/VirtualBox/${each}
537 + fperms 4750 /opt/VirtualBox/${each}
538 + pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
539 + done
540 +
541 + if ! use headless ; then
542 + # Hardened build: Mark selected binaries set-user-ID-on-execution
543 + for each in VBox{SDL,Headless} ; do
544 + fowners root:vboxusers /opt/VirtualBox/${each}
545 + fperms 4510 /opt/VirtualBox/${each}
546 + pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
547 + done
548 +
549 + dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
550 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
551 + else
552 + # Hardened build: Mark selected binaries set-user-ID-on-execution
553 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
554 + fperms 4510 /opt/VirtualBox/VBoxHeadless
555 + pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
556 + fi
557 +
558 + exeinto /opt/VirtualBox
559 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
560 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
561 + fperms 0750 /opt/VirtualBox/VBox.sh
562 +
563 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
564 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
565 + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
566 + dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
567 +
568 + # set an env-variable for 3rd party tools
569 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
570 + doenvd "${T}/90virtualbox"
571 +
572 + local udevdir="$(get_udevdir)"
573 + insinto ${udevdir}/rules.d
574 + doins "${FILESDIR}"/10-virtualbox.rules
575 + sed "s@%UDEVDIR%@${udevdir}@" \
576 + -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
577 + # move udev scripts into ${udevdir} (bug #372491)
578 + mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
579 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
580 +}
581 +
582 +pkg_postinst() {
583 + xdg_icon_cache_update
584 + xdg_desktop_database_update
585 + xdg_mimeinfo_database_update
586 +
587 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
588 +
589 + elog ""
590 + if ! use headless ; then
591 + elog "To launch VirtualBox just type: \"VirtualBox\""
592 + elog ""
593 + fi
594 + elog "You must be in the vboxusers group to use VirtualBox."
595 + elog ""
596 + elog "For advanced networking setups you should emerge:"
597 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
598 + elog ""
599 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
600 + elog "an overview about the different features of ${PN}"
601 + elog "and virtualbox-ose"
602 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
603 + elog ""
604 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
605 + elog "or else USB in ${PN} won't work."
606 + fi
607 +}
608 +
609 +pkg_postrm() {
610 + xdg_icon_cache_update
611 + xdg_desktop_database_update
612 + xdg_mimeinfo_database_update
613 +}