diff options
Diffstat (limited to 'system/virtualbox')
-rw-r--r-- | system/virtualbox/README | 7 | ||||
-rw-r--r-- | system/virtualbox/virtualbox.SlackBuild | 65 |
2 files changed, 24 insertions, 48 deletions
diff --git a/system/virtualbox/README b/system/virtualbox/README index f8a9c427e89ac..3a2addeca9c88 100644 --- a/system/virtualbox/README +++ b/system/virtualbox/README @@ -1,16 +1,9 @@ VirtualBox Open Source Edition (OSE) is a general-purpose full virtualizer for x86 hardware. -By default VirtualBox will be compiled with hardening enabled. That -means all binaries will be run suid root, which is the default -behaviour of upstream packages. However, you are still able -to disable this by passing HARDENING=no to the script. - You have to create a vboxusers group, e.g. "groupadd -g 215 vboxusers" and make your user a member of that group. -To compile a headless virtualbox pass HEADLESS=yes to the script. - To enable the webservice pass WEBSERVICE=yes to the script. This will require gsoap as optional dependency. diff --git a/system/virtualbox/virtualbox.SlackBuild b/system/virtualbox/virtualbox.SlackBuild index dd2b99c1171b1..ddedab4817f1b 100644 --- a/system/virtualbox/virtualbox.SlackBuild +++ b/system/virtualbox/virtualbox.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Slackware build script for virtualbox-ose +# Slackware build script for virtualbox # Copyright 2008-2021 Heinz Wiesinger, Amsterdam, The Netherlands # Copyright 2008 Mauro Giachero <mauro.giachero@gmail.com> @@ -12,23 +12,23 @@ # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=virtualbox SRCNAM=VirtualBox VERSION=${VERSION:-6.1.26} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -55,9 +55,6 @@ OUTPUT=${OUTPUT:-/tmp} # kmk doesn't support MAKEFLAGS, so we use JOBS here JOBS=${JOBS:-3} -# Define Variable Names -gui="" - # Check for vboxusers group here if ! grep ^vboxusers: /etc/group 2>&1 > /dev/null; then echo " You must have a vboxusers group to run this script." @@ -65,23 +62,6 @@ if ! grep ^vboxusers: /etc/group 2>&1 > /dev/null; then exit 1 fi -# Enable Hardening - Defaulting to yes as requested by upstream -if [ "${HARDENING:-yes}" = "yes" ]; then - harden="--enable-hardening" -else - harden="--disable-hardening" -fi - -# Support for the Qt & SDL frontends -if [ "${HEADLESS:-no}" = "no" ]; then - guiapp="VirtualBox VirtualBoxVM VBoxSDL" - suidgui="VirtualBoxVM VBoxSDL" -else - gui+=" --build-headless" - guiapp="" - suidgui="" -fi - # Enable building of java bindings if [ "${JAVA:-no}" = "no" ]; then java="--disable-java" @@ -147,6 +127,9 @@ patch -d src/VBox/Installer/linux -i $CWD/vboxdrv.sh-setup.diff # Fix wrong path to rdesktop-vrdp-keymaps patch -p1 -i $CWD/006-rdesktop-vrdp-keymap-path.patch +# Skip python2 detection +sed -i 's|python2.7 python2.6 ||' ./configure + # Remove gcc version check and fix the qt5 flags sed -i 's/^check_gcc$/#check_gcc/' ./configure patch -p1 < $CWD/configure.patch @@ -159,9 +142,8 @@ sed -i "s|CXX_FLAGS=\"\"|CXX_FLAGS=\"$SLKCFLAGS -std=c++11\"|" ./configure --enable-vde \ --enable-vnc \ --with-makeself=/usr/bin/echo \ + --enable-hardening \ $web_service \ - $harden \ - $gui \ $sw_virt \ $java @@ -217,7 +199,7 @@ cd out/linux.$BUILDDIR/release/bin/ export VBOX_INSTALL_PATH=/usr/lib$LIBDIRSUFFIX/virtualbox cd sdk/installer - python ./vboxapisetup.py install --prefix "/usr" --root $PKG + python3 ./vboxapisetup.py install --prefix "/usr" --root $PKG cd - rm -rf sdk/installer @@ -232,8 +214,11 @@ cd out/linux.$BUILDDIR/release/bin/ mv $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/VBox.sh $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/VBox cd $TMP/$SRCNAM-${VERSION} +# Drop broken symlink +rm -f $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/components/VBoxREM.so + for i in VBoxManage VBoxHeadless VBoxVRDP VBoxBalloonCtrl VBoxBugReport \ - VBoxAutostart $guiapp $vboxwebsrv; do + VBoxAutostart VirtualBox VirtualBoxVM VBoxSDL $vboxwebsrv; do ln -s /usr/lib$LIBDIRSUFFIX/virtualbox/VBox $PKG/usr/bin/$i done @@ -256,11 +241,9 @@ if [ "$vboxwebsrv" = "vboxwebsrv" ]; then sed -i "s/\[ -z \"\$DEBIAN\"/#\[ -z \"\$DEBIAN\"/" $PKG/etc/rc.d/rc.vboxweb-service.new fi -if [ "$harden" = "--enable-hardening" ]; then - for i in VBoxHeadless $suidgui VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT; do - chmod 4711 $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/$i - done -fi +for i in VBoxHeadless VirtualBoxVM VBoxSDL VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT; do + chmod 4711 $PKG/usr/lib$LIBDIRSUFFIX/virtualbox/$i +done # install headers. Needed by some third party tools cp -rf include/* $PKG/usr/include/virtualbox/ |