From 46c829d1d80a8a2368c3100fa1794e5126186188 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Mon, 29 Dec 2014 14:13:38 +0000 Subject: [PATCH] Make installation of udev rules optional (bug #532930). pax-mark some more files (bug #524202) Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0x981CA6FC --- app-emulation/virtualbox/ChangeLog | 9 +- app-emulation/virtualbox/Manifest | 31 +- app-emulation/virtualbox/metadata.xml | 1 + .../virtualbox/virtualbox-4.3.20-r1.ebuild | 417 ++++++++++++++++++ 4 files changed, 442 insertions(+), 16 deletions(-) create mode 100644 app-emulation/virtualbox/virtualbox-4.3.20-r1.ebuild diff --git a/app-emulation/virtualbox/ChangeLog b/app-emulation/virtualbox/ChangeLog index 01bb9e30855d..bbd544615c4c 100644 --- a/app-emulation/virtualbox/ChangeLog +++ b/app-emulation/virtualbox/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-emulation/virtualbox # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.195 2014/12/22 13:11:58 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.196 2014/12/29 14:13:37 polynomial-c Exp $ + +*virtualbox-4.3.20-r1 (29 Dec 2014) + + 29 Dec 2014; Lars Wendler + +virtualbox-4.3.20-r1.ebuild, metadata.xml: + Make installation of udev rules optional (bug #532930). pax-mark some more + files (bug #524202). 22 Dec 2014; Lars Wendler -virtualbox-4.3.16.ebuild, virtualbox-4.3.18.ebuild, diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 94c974f5fd8a..601810fb9440 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -19,24 +19,25 @@ DIST virtualbox-4.3.16-patches-01.tar.xz 4288 SHA256 270c4f01b2c13c4133987b3acc0 EBUILD virtualbox-4.2.24.ebuild 12292 SHA256 4aece9bdba6926aa6ade3f374e5e037cfd42141ba849fa21bddc52e7d663b251 SHA512 1b916182b72f60558e4ed2e48bdc50705b9b3862417a921071140c66defade164ead3db6eb9862b883690998ede21cac135d43bbba8a29ec47680714810c65ef WHIRLPOOL 33fcef64e741e615a90d37ea04f177b3681c5e921d915e745ce0efa968cdc1fb0624832b3078ecfa87546963565214d2751cc3d90d0064294dee726d99e3daab EBUILD virtualbox-4.2.26.ebuild 12295 SHA256 683dbbdf528151bbe0f591fb27ca477049731b411b735bf4ba013c0a19bb051b SHA512 910c2b8a11b21b977bbbfc134d336e5cb6c12a9b4573f7c43e6cfe95110d46c6ce6a39b252c175fb329477255e0a22b9293434e2438bb4edea8bba3f0e7eb01e WHIRLPOOL ef7bad2e60d4179e9e86a3a3edd8e8c25167daf783a2970a70c913fc440edd2d5c4e4e89fba6f746e5edfa3bd23621fa038c144356636854105b7ac83114383d EBUILD virtualbox-4.3.18.ebuild 12364 SHA256 604691432387fa22efa12c255c6789d8b48068e5f11436069cfb21ca5c4b49b1 SHA512 3c12b84212e56d8136452621b0a0978217b72ed7f040be38ec001c297378048584ff0be94c1f91fe263887c9099c672cf2f48308e3c550188af2283cd96a5392 WHIRLPOOL 1f2da4265af27faee68871453fef763a649a0056b04c79cef73f84b6df93c87f01dcbd70617c09b2202e4e695b27e29257b683b27b1f5f62d5c4ccde454650ef +EBUILD virtualbox-4.3.20-r1.ebuild 12646 SHA256 fe7c8bdb2ed713c769cc4ccb92f3a6c579b0bb6934a3e3d1c8baeb3100678fc6 SHA512 d30337425c31c70a1f12e70616f1cca86ad0c59dc752c87b18ad8917788bd071e3b05ae7b27cada4a82d28370a539140dd1cd0ae491600c92eebe1bb79962ffb WHIRLPOOL 2f57edb12a7622e85ab5f26bb43d596e158c7fce10f1f645be1a98869713b98a301b0872ead67163221952980f74cc4bf1bad28ae31db9e0f09d6bb23ce31329 EBUILD virtualbox-4.3.20.ebuild 12366 SHA256 f9ba49488bae8b3df21e1bbad2a8bd149da553bc221d0a768cad80088d8ab056 SHA512 1d3b27241f30f677ae61c581a1bd6b767d941901c5df2a1089a01b1acbd98df08b52322c094b61914f7decde2a007107a3d8d3982bcf7f592409a5f0eb36d86e WHIRLPOOL 172ddac6cbbadfe1a0b3632d2ae0ba99b16d2fd59d8c42171e8eb565e3a634bfc84135efc8975a806ae19c686b2b5508ab8c225ecb372ff22b777ddb374f61fa EBUILD virtualbox-9999.ebuild 5124 SHA256 c21419dc6df355c61f544776b629659c9b40521eefff5af888cf432e005e81ab SHA512 c4e371d91b4a72cf1da5d20fbc4f627ee04e45f41ab967807590ef09dfae8e05b1f8914d496278a460154842ae071114e429acfe8b0984a87b8274b3fa0d6e47 WHIRLPOOL f811044a3d31354ecba0db9bd7daba4293d66c5a551c8d36aca38dffd0a3ae016eb8265d139ec5f708fcb9132420cc66ec2f104ca21005336faf3fdedc1aa24d -MISC ChangeLog 29089 SHA256 859f13ee1d4eb01df10869f0bc0556af0f5db270ca4a292d56720f38153cae8c SHA512 74bbdbb57bf7c22c8655b705deeaeed0b9ebce7787ef7dc9a61a45f318e12eef85cacc053b235230a2e76b212f16f07112a1d251e0021f9b5a2f053e7a2d99ae WHIRLPOOL 26ae4ace842273d711fb045c25241b65291045adce13d0662006369e0a029accff2d8801fb0c3a5ab7cf05aaa1e6e7f7299c44aa5ea39ce26252cf11eb8630d2 -MISC metadata.xml 673 SHA256 5cf3053a2f23eff40c24dfdb7af90d4bf905df95a7406f6298ae9e5e547cbe79 SHA512 79b4b7477041212815e0b509016b692ac719625534ba93540ac5afe655e47ed2ed27d7ba51b494a49a6ac603733ba0b66a2a517f27e4d0e6b7563eb7d4e640ec WHIRLPOOL 6bcb7711e01036fa3ff064ffdc5021da6fca464d4da77d8e93d033304c7c1d3ed105723d5d5e7fa3328daec929c7c7a90c9c82572bb082765f286b53c3feb688 +MISC ChangeLog 29327 SHA256 722b2c71cdb66ba4a3912b9672b7981938e24623402628ee0282571febd53256 SHA512 0274aaca195935c42bbc42643a0cd386d82516a4133f61a3b681c384dd9f01e32c19eb3d0f1d53cceceae868dbc0ea60380e5924d58f62504ba2657093835bf3 WHIRLPOOL d3890d4c0da8a1e8785e74475e1be8a5dffec4aa7394689e97057d95770d1eb332a2187987dd936143a9c65f51d7fd41af13f797bfe168f82e55253d4ebcbf62 +MISC metadata.xml 748 SHA256 66bd437f8361756fc1face65daddb2665d37eea729f54f3af991ab7b18bb9677 SHA512 5f520970ef34c8926d7729f27fe9abad8574b81c68052440f807fe0a6c71a3cd929d2c5a82c37b791f25efd5276ed617347027463faae1cb6b15c1a667c4aca2 WHIRLPOOL bda4439eb6bbcab61d17b6d76e7c342ff7e2008c298c57962448ae5f45338971be8b1a88a5bb4e64dae2048d49ebe5937aa883297e69e02eaa329de51c765d7b -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAEBCAAGBQJUmBigAAoJEPiazRVxLXTFhDkP/0mFCJ2kRNP9myyZ463/zzk+ -S16FpdP8pcLoVzNK0PgkY5zJE6V+uyUNm1vvbGQ8Gl+JlJOCJV+V9j3rU0XMFlnp -oVo1hcYaP8UsJ3IJACI3EvIXcHziDly2aYgRftPrxzO44XcGdz0xrfmoewEkLScl -dklBHxAmn4yddbipGdvQ0vARoc7Am4+o/RsPHi6u6honn3mGGGZAcfqBHMIAK0fi -IZ04O5cadQRqyjKma4EMJe8R+TkIc6fsNGPp0Vuzo1A9My8VfUUaNBfTi/+VMT+m -KlWASi2twXlr19rw+lHGb4aKmXZ35VhSTMHHCw6FO4M7FgVGjgqvAY6jc8I4xKpV -bsEKRNQaibhWqckaQqSAsX5Ss+gP9OOGIDDiPfECwyd/D3JH74qQNBUCzajSk/hm -6kVLx/AgLb0lepfNByASTNQvwAeeozRPT5iTtI1rhCml3C5FTCPP3aOOSooCd9sp -FZxvpt0UWAZ+cJqz0Q9YyYU1Ygw2pDrL9IxdW6vEvYoYd/8qTFJVReclLGzvkNsQ -dlz7mGNWRObavaEkhbkHC/ho3hDnW6tCSC1BEetOM8VoKoFcX61/R9zoOyU8V7RK -QbI7lCBssbXb6F9cK6TGdXNCSmALuDQRZlrW/6+ernmQ48fC+3IJsEagcFixSjG6 -DcRB53AecwN0x887NHFo -=6g7p +iQIcBAEBCAAGBQJUoWGSAAoJEPiazRVxLXTFcCwP/0Bi+xaU+76Rf1NvQdoQXWau +pb1Hl/jbPODfMPHk0ob2oPXWavL9tkCFn7ZjHfkyMJ4PnmFYaGofsKhnVQY0gieU +szEvidYPOYV7VZIYsrb71KIUFfRFoAQJF6BP8fGrEZgZLEjuTskVz89hgehopIiZ +dEQBoRQAkTE98h+GJzrU1yb5xc6VMqHP6gXKyiRt/iVxvsVji7uLGY9gzYcJz5A9 ++kc2RczVwKjKRGw66jP0agSRdzhaYNNGn6+b+vVgiJte4TOaC2Oo+7k+ws5f/57P +QoMZgMeF1+zMxNFdlK0PUl1m57NQusD+Oo2HGKy0+/fGlBJ6atIeVrmucTQaTvb4 +JD0zJAV1EvfkwpRivqdFxSwAhdP3VhzNUEqkS/cN5C1HEB36+1AM/GwS0oq5rHWk +qx7Hs5aDcsHd8A4VEIari9PbI/FLrPukuuOSf3tz4vcaA5E7oonAfdCIMBTS6Nc9 +m1XEQLiPmjUboYi+YRYnGz6fIAhF3lbAmb7tU8WyqxZzQ4XGemoSioRxjDk80pUf +70agcl7GH9Lq01ewDq/uLnyQSC8y2ta0kplG41F/nZ/YpLKvsxT2IBNAKkeyzDEb +A0yEvfZVR/0Ly0AP7z1f+Od+oRauxt8i/LxSnvB/2pTy+F/qI+RiJg53h6UgTaAp +5psv1GUhV6nf027Ba84E +=f8GO -----END PGP SIGNATURE----- diff --git a/app-emulation/virtualbox/metadata.xml b/app-emulation/virtualbox/metadata.xml index 0622c0598deb..7150ec6cbf4d 100644 --- a/app-emulation/virtualbox/metadata.xml +++ b/app-emulation/virtualbox/metadata.xml @@ -14,6 +14,7 @@ Install extension module packages Build without any graphic frontend Enable building of SDK + Controls installation of special USB udev rules. Build and install the VirtualBox webservice diff --git a/app-emulation/virtualbox/virtualbox-4.3.20-r1.ebuild b/app-emulation/virtualbox/virtualbox-4.3.20-r1.ebuild new file mode 100644 index 000000000000..2c70c7c38472 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-4.3.20-r1.ebuild @@ -0,0 +1,417 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-4.3.20-r1.ebuild,v 1.1 2014/12/29 14:13:37 polynomial-c Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 qt4-r2 toolchain-funcs udev + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + http://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-4.3.16-patches-01.tar.xz" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use" +HOMEPAGE="http://www.virtualbox.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions alsa doc extensions headless java pam pulseaudio +opengl python +qt4 +sdk +udev vboxwebsrv vnc" + +RDEPEND="!app-emulation/virtualbox-bin + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/openssl + dev-libs/libxml2 + media-libs/libpng + media-libs/libvpx + sys-libs/zlib + !headless? ( + qt4? ( + dev-qt/qtgui:4 + dev-qt/qtcore:4 + opengl? ( dev-qt/qtopengl:4 ) + x11-libs/libXinerama + ) + opengl? ( virtual/opengl media-libs/freeglut ) + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + media-libs/libsdl:0[X,video] + ) + + java? ( || ( virtual/jre:1.7 virtual/jre:1.6 ) ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 )" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-power/iasl + pam? ( sys-libs/pam ) + sys-libs/libcap + doc? ( + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( || ( virtual/jdk:1.7 virtual/jdk:1.6 ) ) + virtual/pkgconfig + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( x11-libs/libXinerama ) + pulseaudio? ( media-sound/pulseaudio ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) + ${PYTHON_DEPS}" +PDEPEND="additions? ( ~app-emulation/virtualbox-additions-${PV} ) + extensions? ( =app-emulation/virtualbox-extpack-oracle-${PV}* )" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_4.so + usr/lib/virtualbox/VBoxPython2_5.so + usr/lib/virtualbox/VBoxPython2_6.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +REQUIRED_USE=" + java? ( sdk ) + python? ( + ( sdk ) + ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_setup() { + if ! use headless && ! use qt4 ; then + einfo "No USE=\"qt4\" selected, this build will not include" + einfo "any Qt frontend." + elif use headless && use qt4 ; then + einfo "You selected USE=\"headless qt4\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -rf kBuild/bin tools + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-4-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + if ! gcc-specs-pie ; then + EPATCH_EXCLUDE="050_${PN}-4.3.14-nopie.patch" + fi + + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}/patches" + + epatch_user +} + +src_configure() { + local myconf + use alsa || myconf+=" --disable-alsa" + use doc || myconf+=" --disable-docs" + use java || myconf+=" --disable-java" + use opengl || myconf+=" --disable-opengl" + use pulseaudio || myconf+=" --disable-pulse" + use python || myconf+=" --disable-python" + use vboxwebsrv && myconf+=" --enable-webservice" + use vnc && myconf+=" --enable-vnc" + if ! use headless ; then + use qt4 || myconf+=" --disable-qt4" + else + myconf+=" --build-headless --disable-opengl" + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=" --disable-vmmraw" + fi + # not an autoconf script + ./configure \ + --with-gcc="$(tc-getCC)" \ + --with-g++="$(tc-getCXX)" \ + --disable-kmods \ + --disable-dbus \ + --disable-devmapper \ + ${myconf} \ + || die "configure failed" +} + +src_compile() { + source ./env.sh + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + # and strip all flags + # strip-flags + + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \ + TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ + TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ + TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ + VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \ + KBUILD_VERBOSE=2 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/release/bin || die + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the right libdir + sed -i \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Symlink binaries to the shipped wrapper + exeinto /usr/$(get_libdir)/${PN} + newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox + fperms 0750 /usr/$(get_libdir)/${PN}/VBox + + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless + dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl + + # Install binaries and libraries + insinto /usr/$(get_libdir)/${PN} + doins -r components + + if use sdk ; then + doins -r sdk + fi + + if use vboxwebsrv ; then + doins vboxwebsrv + fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv + fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + local gcfiles="*gc" + if use amd64 && ! has_multilib_profile ; then + gcfiles="" + fi + + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,ExtPackHelperApp} *so *r0 ${gcfiles} ; do + doins ${each} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} + fperms 0750 /usr/$(get_libdir)/${PN}/${each} + done + + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + for each in VBoxNet{AdpCtl,DHCP,NAT} ; do + doins ${each} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} + fperms 4750 /usr/$(get_libdir)/${PN}/${each} + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each} || die + done + + if ! use headless ; then + for each in VBox{SDL,Headless} ; do + doins ${each} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} + fperms 4750 /usr/$(get_libdir)/${PN}/${each} + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each} + done + + if use opengl && use qt4 ; then + doins VBoxTestOGL + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL + fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxTestOGL + fi + + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL + + if use qt4 ; then + doins VirtualBox + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox + fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox \ + || die + + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox + + newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Resources/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + popd &>/dev/null || die + else + doins VBoxHeadless + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless + fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless || die + fi + + insinto /usr/$(get_libdir)/${PN} + # Install EFI Firmware files (bug #320757) + pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die + for fwfile in VBoxEFI{32,64}.fd ; do + doins ${fwfile} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile} + done + popd &>/dev/null || die + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + fi + + insinto /usr/share/${PN} + if ! use headless && use qt4 ; then + doins -r nls + fi + + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so /usr/$(get_libdir)/${PN}/VRDPAuth.so + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if use java ; then + java-pkg_regjar "${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so" + fi +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + if ! use headless && use qt4 ; then + elog "To launch VirtualBox just type: \"VirtualBox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "IMPORTANT!" + elog "If you upgrade from app-emulation/virtualbox-ose make sure to run" + elog "\"env-update\" as root and logout and relogin as the user you wish" + elog "to run ${PN} as." + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} -- 2.26.2