Index: Makefile =================================================================== --- /dev/null +++ Makefile @@ -0,0 +1 @@ +include ../Makefile.common Index: abi_used_libs =================================================================== --- /dev/null +++ abi_used_libs @@ -0,0 +1,31 @@ +libGL.so.1 +libQt5Core.so.5 +libQt5Gui.so.5 +libQt5OpenGL.so.5 +libQt5PrintSupport.so.5 +libQt5Widgets.so.5 +libQt5X11Extras.so.5 +libSDL-1.2.so.0 +libX11.so.6 +libXcursor.so.1 +libXext.so.6 +libXinerama.so.1 +libXmu.so.6 +libXt.so.6 +libc.so.6 +libcrypt.so.1 +libcrypto.so.1.0.0 +libcurl.so.4 +libdl.so.2 +libgcc_s.so.1 +libm.so.6 +libpng15.so.15 +libpthread.so.0 +libpython2.7.so.1.0 +librt.so.1 +libssl.so.1.0.0 +libstdc++.so.6 +libvpx.so.4 +libxcb.so.1 +libxml2.so.2 +libz.so.1 Index: files/60-vboxdrv.rules =================================================================== --- /dev/null +++ files/60-vboxdrv.rules @@ -0,0 +1,7 @@ +KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" +KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="root", MODE="0666" +KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root", GROUP="root", MODE="0600" +SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/lib64/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" +SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/lib64/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" +SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/lib64/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" +SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/usr/lib64/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" Index: files/LocalConfig.kmk =================================================================== --- /dev/null +++ files/LocalConfig.kmk @@ -0,0 +1,15 @@ +VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib64/virtualbox +VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_WITH_ORIGIN := +VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox +VBOX_PATH_APP_DOCS := /usr/share/doc/virtualbox +VBOX_WITH_TESTCASES := +VBOX_WITH_TESTSUITE := + +VBOX_WITH_REGISTRATION_REQUEST := +VBOX_WITH_UPDATE_REQUEST := +VBOX_BUILD_PUBLISHER := _Solus + +VBOX_USE_SYSTEM_GL_HEADERS := 1 + Index: files/vboxdrv.service =================================================================== --- /dev/null +++ files/vboxdrv.service @@ -0,0 +1,20 @@ +[Unit] +SourcePath=/usr/lib64/virtualbox/vboxdrv.sh +Description=VirtualBox Linux kernel module +Before=runlevel2.target runlevel3.target runlevel4.target runlevel5.target shutdown.target +After= +Conflicts=shutdown.target + +[Service] +Type=forking +Restart=no +TimeoutSec=5min +IgnoreSIGPIPE=no +KillMode=process +GuessMainPID=no +RemainAfterExit=yes +ExecStart=/usr/lib64/virtualbox/vboxdrv.sh start +ExecStop=/usr/lib64/virtualbox/vboxdrv.sh stop + +[Install] +WantedBy=multi-user.target Index: files/vboxdrv.sh =================================================================== --- /dev/null +++ files/vboxdrv.sh @@ -0,0 +1,180 @@ +#! /bin/sh +# Oracle VM VirtualBox +# Linux kernel module init script + +# +# Copyright (C) 2006-2015 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# + +# THIS IS A "MUCH SIMPLIFIED" VERSION OF THE ORIGINAL SCRIPT + +PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH +DEVICE=/dev/vboxdrv +LOG="/var/log/vbox-install.log" +MODPROBE=/sbin/modprobe +SCRIPTNAME=vboxdrv.sh + +if $MODPROBE -c | grep -q '^allow_unsupported_modules *0'; then + MODPROBE="$MODPROBE --allow-unsupported-modules" +fi + +begin_msg() +{ + test -n "${2}" && echo "${SCRIPTNAME}: ${1}." + logger -t "${SCRIPTNAME}" "${1}." +} + +succ_msg() +{ + logger -t "${SCRIPTNAME}" "${1}." +} + +fail_msg() +{ + echo "${SCRIPTNAME}: failed: ${1}." >&2 + logger -t "${SCRIPTNAME}" "failed: ${1}." +} + +failure() +{ + fail_msg "$1" + exit 1 +} + +running() +{ + lsmod | grep -q "$1[^_-]" +} + +start() +{ + begin_msg "Starting VirtualBox services" console + if [ -d /proc/xen ]; then + failure "Running VirtualBox in a Xen environment is not supported" + fi + if ! running vboxdrv; then + if ! rm -f $DEVICE; then + failure "Cannot remove $DEVICE" + fi + sleep .2 + fi + # ensure the character special exists + if [ ! -c $DEVICE ]; then + MAJOR=`sed -n 's;\([0-9]\+\) vboxdrv$;\1;p' /proc/devices` + if [ ! -z "$MAJOR" ]; then + MINOR=0 + else + MINOR=`sed -n 's;\([0-9]\+\) vboxdrv$;\1;p' /proc/misc` + if [ ! -z "$MINOR" ]; then + MAJOR=10 + fi + fi + if [ -z "$MAJOR" ]; then + rmmod vboxdrv 2>/dev/null + failure "Cannot locate the VirtualBox device" + fi + if ! mknod -m 0660 $DEVICE c $MAJOR $MINOR 2>/dev/null; then + rmmod vboxdrv 2>/dev/null + failure "Cannot create device $DEVICE with major $MAJOR and minor $MINOR" + fi + fi + + if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then + failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out why" + fi + if ! $MODPROBE vboxnetadp > /dev/null 2>&1; then + failure "modprobe vboxnetadp failed. Please use 'dmesg' to find out why" + fi + if ! $MODPROBE vboxpci > /dev/null 2>&1; then + failure "modprobe vboxpci failed. Please use 'dmesg' to find out why" + fi + # Create the /dev/vboxusb directory if the host supports that method + # of USB access. The USB code checks for the existance of that path. + if grep -q usb_device /proc/devices; then + mkdir -p -m 0750 /dev/vboxusb 2>/dev/null + chown root:vboxusers /dev/vboxusb 2>/dev/null + fi + + succ_msg "VirtualBox services started" +} + +stop() +{ + begin_msg "Stopping VirtualBox services" console + + if running vboxpci; then + if ! rmmod vboxpci 2>/dev/null; then + failure "Cannot unload module vboxpci" + fi + fi + if running vboxnetadp; then + if ! rmmod vboxnetadp 2>/dev/null; then + failure "Cannot unload module vboxnetadp" + fi + fi + if running vboxdrv; then + if running vboxnetflt; then + if ! rmmod vboxnetflt 2>/dev/null; then + failure "Cannot unload module vboxnetflt" + fi + fi + if ! rmmod vboxdrv 2>/dev/null; then + failure "Cannot unload module vboxdrv" + fi + if ! rm -f $DEVICE; then + failure "Cannot unlink $DEVICE" + fi + fi + succ_msg "VirtualBox services stopped" +} + +dmnstatus() +{ + if running vboxdrv; then + str="vboxdrv" + if running vboxnetflt; then + str="$str, vboxnetflt" + if running vboxnetadp; then + str="$str, vboxnetadp" + fi + fi + if running vboxpci; then + str="$str, vboxpci" + fi + echo "VirtualBox kernel modules ($str) are loaded." + else + echo "VirtualBox kernel module is not loaded." + fi +} + +case "$1" in +start) + start + ;; +stop) + stop + ;; +restart) + stop && start + ;; +force-reload) + stop + start + ;; +status) + dmnstatus + ;; +*) + echo "Usage: $0 {start|stop|restart|force-reload|status}" + exit 1 +esac + +exit 0 Index: files/virtualbox.sysusers =================================================================== --- /dev/null +++ files/virtualbox.sysusers @@ -0,0 +1 @@ +g vboxusers - - Index: package.yml =================================================================== --- /dev/null +++ package.yml @@ -0,0 +1,147 @@ +name : virtualbox +version : 5.2.0 +release : 1 +source : + - http://download.virtualbox.org/virtualbox/5.2.0/VirtualBox-5.2.0.tar.bz2 : 26fc73aee2df18142e4129beed1175fbd7eed69a9b6b150bcff7d9b92f4ade54 +license : GPL-2.0 +component : virt +summary : VirtualBox is a free, open source solution for running other operating systems virtually on your computer +description: | + VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. +builddeps : + - pkgconfig(alsa) + - pkgconfig(devmapper) + - pkgconfig(glu) + - pkgconfig(libcap) + - pkgconfig(libcurl) + - pkgconfig(libIDL-2.0) + - pkgconfig(libpng) + - pkgconfig(libpulse) + - pkgconfig(libxslt) + - pkgconfig(Qt5UiTools) + - pkgconfig(Qt5X11Extras) + - pkgconfig(SDL_ttf) + - pkgconfig(vpx) + - pkgconfig(xcomposite) + - pkgconfig(xcursor) + - pkgconfig(xinerama) + - pkgconfig(xmu) + - pkgconfig(xorg-server) + - pkgconfig(xrandr) + - cdrtools + - docbook-xml + - glibc-32bit-devel + - iasl + - libgcc-32bit + - linux-current + - linux-current-headers + - linux-lts + - linux-lts-headers +permanent : + - /lib/modules +rundeps : + - linux-lts + - virtualbox-common + - current : + - linux-current + - virtualbox-common + - devel : virtualbox-common +patterns : + - common : /usr + - devel : + - /usr/lib/python2.7 + - /usr/lib64/virtualbox/sdk + - current : /lib/modules/*.current +setup : | + # Ensure we don't ever use bundled libraries + rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*} + + cp $pkgfiles/LocalConfig.kmk . + echo "VBOX_GCC_OPT=$CXXFLAGS" >> LocalConfig.kmk + + ./configure --disable-kmods \ + --disable-docs \ + --disable-java \ + --with-makeself=/bin/true # we don't need this guy; it's used by linux installer +build : | + source ./env.sh + kmk all + + cd out/linux.amd64/release/bin + + for kern in "%kernel_version_lts%" "%kernel_version_current%"; do + cp -a src ${kern} + pushd ${kern} + %make KERN_DIR=/usr/src/linux-headers-${kern} + popd + done +install : | + cd out/linux.amd64/release/bin + + # binaries + install -d -m 00755 $installdir/usr/bin + install -m 00755 VBox.sh $installdir/usr/bin/VBox.sh + + for i in VirtualBox VBoxManage VBoxSDL VBoxHeadless VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxDTrace; do + ln -s VBox.sh $installdir/usr/bin/$i + done + install -m 00755 VBoxTunctl $installdir/usr/bin + install -m 00755 rdesktop-vrdp $installdir/usr/bin + + # libraries + install -d -m 00755 $installdir/%libdir%/virtualbox + install -m 00755 *.so -t $installdir/%libdir%/virtualbox + install -m 00644 *.rc *.r0 VBoxEFI*.fd -t $installdir/%libdir%/virtualbox + install -m 00755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl -t $installdir/%libdir%/virtualbox + install -m 00755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t $installdir/%libdir%/virtualbox + # setuid root binaries + install -m 04755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT -t $installdir/%libdir%/virtualbox + + # components + install -d -m 00755 $installdir/%libdir%/virtualbox/components + install -m 00755 components/* -t $installdir/%libdir%/virtualbox/components + + # languages + install -d -m 00755 $installdir/usr/share/virtualbox/nls + install -m 00755 nls/*.qm -t $installdir/usr/share/virtualbox/nls + + # rdesktop keymaps + install -d -m 00755 $installdir/usr/share/virtualbox/rdesktop-vrdp-keymaps + install -m 00644 rdesktop-vrdp-keymaps/* -t $installdir/usr/share/virtualbox/rdesktop-vrdp-keymaps + + # icons + install -D -m 00644 VBox.png $installdir/usr/share/pixmaps/VBox.png + pushd icons + for i in *; do + install -d $installdir/usr/share/icons/hicolor/$i/mimetypes + cp $i/* $installdir/usr/share/icons/hicolor/$i/mimetypes + done + popd + + # .desktop + install -D -m 00644 virtualbox.desktop $installdir/usr/share/applications/virtualbox.desktop + install -D -m 00644 virtualbox.xml $installdir/usr/share/mime/packages/virtualbox.xml + + # kernel modules + for kern in "%kernel_version_lts%" "%kernel_version_current%"; do + pushd ${kern} + install -d -m 00755 $installdir/lib/modules/${kern}/extra + install -m 00644 *.ko $installdir/lib/modules/${kern}/extra + popd + done + + # devel + install -D -m 00755 vboxshell.py $installdir/%libdir%/virtualbox/vboxshell.py + pushd sdk/installer + VBOX_INSTALL_PATH="%libdir%/virtualbox" python vboxapisetup.py install --root=$installdir + popd + install -d -m 00755 $installdir/%libdir%/virtualbox/sdk/bindings + cp -r sdk/bindings/{VirtualBox.xidl,auth,xpcom} $installdir/%libdir%/virtualbox/sdk/bindings + + # systemd stuffs + install -D -m 00644 $pkgfiles/virtualbox.sysusers $installdir/%libdir%/sysusers.d/virtualbox.conf + install -D -m 00644 $pkgfiles/60-vboxdrv.rules $installdir/%libdir%/udev/rules.d/60-vboxdrv.rules + install -D -m 00755 $pkgfiles/vboxdrv.sh $installdir/%libdir%/virtualbox/vboxdrv.sh + install -D -m 00644 $pkgfiles/vboxdrv.service $installdir/%libdir%/systemd/system/vboxdrv.service + install -d -m 00755 $installdir/%libdir%/systemd/system/multi-user.target.wants + ln -sv ../vboxdrv.service $installdir/%libdir%/systemd/system/multi-user.target.wants/. Index: pspec_x86_64.xml =================================================================== --- /dev/null +++ pspec_x86_64.xml @@ -0,0 +1,76 @@ + + + virtualbox + + Pierre-Yves + pyu@riseup.net + + GPL-2.0 + virt + VirtualBox is a free, open source solution for running other operating systems virtually on your computer + VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. + + https://solus-project.com/sources/README.Solus + + + virtualbox + VirtualBox is a free, open source solution for running other operating systems virtually on your computer + VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. + + virt + + virtualbox-common + + + /lib/modules/4.9.58-54.lts/extra/vboxdrv.ko + /lib/modules/4.9.58-54.lts/extra/vboxnetadp.ko + /lib/modules/4.9.58-54.lts/extra/vboxnetflt.ko + /lib/modules/4.9.58-54.lts/extra/vboxpci.ko + + + + virtualbox-common + VirtualBox is a free, open source solution for running other operating systems virtually on your computer + VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. + + + /usr + + + + virtualbox-current + VirtualBox is a free, open source solution for running other operating systems virtually on your computer + VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. + + + virtualbox-common + + + /lib/modules/*.current + + + + virtualbox-devel + Development files for virtualbox + VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. + + programming.devel + + virtualbox + virtualbox-common + + + /usr/lib/python2.7 + /usr/lib64/virtualbox/sdk + + + + + 2017-10-24 + 5.2.0 + Packaging update + Pierre-Yves + pyu@riseup.net + + + \ No newline at end of file