summaryrefslogtreecommitdiffstats
path: root/system/virtualbox-addons/rc.vboxadd.diff
blob: bb5fdde0febd4cb58871e711a3541cfc7ebf34d0 (plain)
diff -ur VirtualBox-5.2.4.orig/src/VBox/Additions/linux/installer/vboxadd.sh VirtualBox-5.2.4/src/VBox/Additions/linux/installer/vboxadd.sh
--- VirtualBox-5.2.4.orig/src/VBox/Additions/linux/installer/vboxadd.sh	2017-12-19 10:22:03.000000000 +0100
+++ VirtualBox-5.2.4/src/VBox/Additions/linux/installer/vboxadd.sh	2018-01-07 17:23:23.225998245 +0100
@@ -130,18 +130,9 @@
 
 dev=/dev/vboxguest
 userdev=/dev/vboxuser
-config=/var/lib/VBoxGuestAdditions/config
 owner=vboxadd
 group=1
 
-if test -r $config; then
-  . $config
-else
-  fail "Configuration file $config not found"
-fi
-test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-  fail "Configuration file $config not complete"
-
 running_vboxguest()
 {
     lsmod | grep -q "vboxguest[^_-]"
@@ -252,28 +243,6 @@
         }
     fi  # INSTALL_NO_MODULE_BUILDS
 
-    # Put the X.Org driver in place.  This is harmless if it is not needed.
-    "${INSTALL_DIR}/init/vboxadd-x11" setup 2>> "${LOG}"
-    # Install the guest OpenGL drivers.  For now we don't support
-    # multi-architecture installations
-    rm -f /etc/ld.so.conf.d/00vboxvideo.conf
-    rm -Rf /var/lib/VBoxGuestAdditions/lib
-    if /usr/bin/VBoxClient --check3d 2>/dev/null; then
-        mkdir -p /var/lib/VBoxGuestAdditions/lib
-        ln -sf "${INSTALL_DIR}/lib/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1
-        # SELinux for the OpenGL libraries, so that gdm can load them during the
-        # acceleration support check.  This prevents an "Oh no, something has gone
-        # wrong!" error when starting EL7 guests.
-        if test -e /etc/selinux/config; then
-            if command -v semanage > /dev/null; then
-                semanage fcontext -a -t lib_t "/var/lib/VBoxGuestAdditions/lib/libGL.so.1"
-            fi
-            chcon -h  -t lib_t "/var/lib/VBoxGuestAdditions/lib/libGL.so.1"
-        fi
-        echo "/var/lib/VBoxGuestAdditions/lib" > /etc/ld.so.conf.d/00vboxvideo.conf
-    fi
-    ldconfig
-
     # Mount all shared folders from /etc/fstab. Normally this is done by some
     # other startup script but this requires the vboxdrv kernel module loaded.
     # This isn't necessary anymore as the vboxsf module is autoloaded.
@@ -303,195 +272,16 @@
     return 0
 }
 
-# Remove any existing VirtualBox guest kernel modules from the disk, but not
-# from the kernel as they may still be in use
-cleanup_modules()
-{
-    log "Removing existing VirtualBox kernel modules."
-    for i in ${OLDMODULES}; do
-        # We no longer support DKMS, remove any leftovers.
-        rm -rf "/var/lib/dkms/${i}"*
-        # And remove old modules.
-        rm -f /lib/modules/*/misc/"${i}"*
-    done
-    # Remove leftover module folders.
-    for i in /lib/modules/*/misc; do
-        test -d "${i}" && rmdir -p "${i}" 2>/dev/null
-    done
-    rm -f /etc/depmod.d/vboxvideo-upstream.conf
-}
-
-# Build and install the VirtualBox guest kernel modules
-setup_modules()
-{
-    # don't stop the old modules here -- they might be in use
-    test -z "${QUICKSETUP}" && cleanup_modules
-    # This does not work for 2.4 series kernels.  How sad.
-    test -n "${QUICKSETUP}" && test -f "${MODULE_DIR}/vboxguest.ko" && return 0
-    info "Building the VirtualBox Guest Additions kernel modules."
-
-    # We are allowed to do ">> $LOG" after we have called "log()" once.
-    log "Building the main Guest Additions module."
-    if ! $BUILDINTMP \
-        --save-module-symvers /tmp/vboxguest-Module.symvers \
-        --module-source $MODULE_SRC/vboxguest \
-        --no-print-directory install >> $LOG 2>&1; then
-        # If check_module_dependencies.sh fails it prints a message itself.
-        "${INSTALL_DIR}"/other/check_module_dependencies.sh 2>&1 &&
-            info "Look at $LOG to find out what went wrong"
-        return 0
-    fi
-    log "Building the shared folder support module"
-    if ! $BUILDINTMP \
-        --use-module-symvers /tmp/vboxguest-Module.symvers \
-        --module-source $MODULE_SRC/vboxsf \
-        --no-print-directory install >> $LOG 2>&1; then
-        info  "Look at $LOG to find out what went wrong"
-        return 0
-    fi
-    log "Building the graphics driver module"
-    if ! $BUILDINTMP \
-        --use-module-symvers /tmp/vboxguest-Module.symvers \
-        --module-source $MODULE_SRC/vboxvideo \
-        --no-print-directory install >> $LOG 2>&1; then
-        info "Look at $LOG to find out what went wrong"
-    fi
-    [ -d /etc/depmod.d ] || mkdir /etc/depmod.d
-    echo "override vboxguest * misc" > /etc/depmod.d/vboxvideo-upstream.conf
-    echo "override vboxsf * misc" >> /etc/depmod.d/vboxvideo-upstream.conf
-    echo "override vboxvideo * misc" >> /etc/depmod.d/vboxvideo-upstream.conf
-    depmod
-    return 0
-}
-
-create_vbox_user()
-{
-    log "Creating user for the Guest Additions."
-    # This is the LSB version of useradd and should work on recent
-    # distributions
-    useradd -d /var/run/vboxadd -g 1 -r -s /bin/false vboxadd >/dev/null 2>&1
-    # And for the others, we choose a UID ourselves
-    useradd -d /var/run/vboxadd -g 1 -u 501 -o -s /bin/false vboxadd >/dev/null 2>&1
-
-}
-
-create_udev_rule()
-{
-    # Create udev description file
-    if [ -d /etc/udev/rules.d ]; then
-        log "Creating udev rule for the Guest Additions kernel module."
-        udev_call=""
-        udev_app=`which udevadm 2> /dev/null`
-        if [ $? -eq 0 ]; then
-            udev_call="${udev_app} version 2> /dev/null"
-        else
-            udev_app=`which udevinfo 2> /dev/null`
-            if [ $? -eq 0 ]; then
-                udev_call="${udev_app} -V 2> /dev/null"
-            fi
-        fi
-        udev_fix="="
-        if [ "${udev_call}" != "" ]; then
-            udev_out=`${udev_call}`
-            udev_ver=`expr "$udev_out" : '[^0-9]*\([0-9]*\)'`
-            if [ "$udev_ver" = "" -o "$udev_ver" -lt 55 ]; then
-               udev_fix=""
-            fi
-        fi
-        ## @todo 60-vboxadd.rules -> 60-vboxguest.rules ?
-        echo "KERNEL=${udev_fix}\"vboxguest\", NAME=\"vboxguest\", OWNER=\"vboxadd\", MODE=\"0660\"" > /etc/udev/rules.d/60-vboxadd.rules
-        echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules
-    fi
-}
-
-create_module_rebuild_script()
-{
-    # And a post-installation script for rebuilding modules when a new kernel
-    # is installed.
-    mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d
-    cat << EOF > /etc/kernel/postinst.d/vboxadd
-#!/bin/sh
-test -d "/lib/modules/\${1}/build" || exit 0
-KERN_VER="\${1}" /sbin/rcvboxadd quicksetup
-exit 0
-EOF
-    cat << EOF > /etc/kernel/prerm.d/vboxadd
-#!/bin/sh
-for i in ${OLDMODULES}; do rm -f /lib/modules/"\${1}"/misc/"\${i}".ko; done
-rmdir -p /lib/modules/"\$1"/misc 2>/dev/null
-exit 0
-EOF
-    chmod 0755 /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd
-}
-
-shared_folder_setup()
-{
-    # Add a group "vboxsf" for Shared Folders access
-    # All users which want to access the auto-mounted Shared Folders have to
-    # be added to this group.
-    groupadd -r -f vboxsf >/dev/null 2>&1
-
-    # Put the mount.vboxsf mount helper in the right place.
-    ## @todo It would be nicer if the kernel module just parsed parameters
-    # itself instead of needing a separate binary to do that.
-    ln -sf "${INSTALL_DIR}/other/mount.vboxsf" /sbin
-    # SELinux security context for the mount helper.
-    if test -e /etc/selinux/config; then
-        # This is correct.  semanage maps this to the real path, and it aborts
-        # with an error, telling you what you should have typed, if you specify
-        # the real path.  The "chcon" is there as a back-up for old guests.
-        command -v semanage > /dev/null &&
-            semanage fcontext -a -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf"
-        chcon -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf"
-    fi
-}
-
 # setup_script
 setup()
 {
-    export BUILD_TYPE
-    export USERNAME
-
-    MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER"
-    BUILDINTMP="$MODULE_SRC/build_in_tmp"
-    chcon -t bin_t "$BUILDINTMP" > /dev/null 2>&1
-
-    test -z "${INSTALL_NO_MODULE_BUILDS}" && setup_modules
-    create_vbox_user
-    create_udev_rule
-    test -z "${INSTALL_NO_MODULE_BUILDS}" && create_module_rebuild_script
-    test -n "${QUICKSETUP}" && return 0
-    shared_folder_setup
-    if  running_vboxguest || running_vboxadd; then
-        info "Running kernel modules will not be replaced until the system is restarted"
-    fi
-    return 0
+    echo "Not implemented! Please use the virtualbox-kernel-addons.SlackBuild available at SlackBuilds.org instead."
 }
 
 # cleanup_script
 cleanup()
 {
-    if test -z "${INSTALL_NO_MODULE_BUILDS}"; then
-        # Delete old versions of VBox modules.
-        cleanup_modules
-        depmod
-
-        # Remove old module sources
-        for i in $OLDMODULES; do
-          rm -rf /usr/src/$i-*
-        done
-    fi
-
-    # Clean-up X11-related bits
-    "${INSTALL_DIR}/init/vboxadd-x11" cleanup 2>> "${LOG}"
-
-    # Remove other files
-    rm /sbin/mount.vboxsf 2>/dev/null
-    if test -z "${INSTALL_NO_MODULE_BUILDS}"; then
-        rm -f /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd
-        rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null
-    fi
-    rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null
+    echo "Not implemented! Please use removepkg or pkgtool to remove virtualbox-addons and/or virtualbox-kernel-addons instead."
 }
 
 dmnstatus()