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 |
+} |