diff options
author | Heinz Wiesinger <pprkut@slackbuilds.org> | 2016-01-23 18:31:22 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2016-01-26 18:59:11 +0700 |
commit | 81b32f5be64ccdb2df57a760281406243ec62996 (patch) | |
tree | b15efaf42dd62737fc81370ebfaa8210577da284 /system/virtualbox-addons/rc.vboxadd.diff | |
parent | a680b718e1666f37863e4f329436e545213e9aeb (diff) | |
download | slackbuilds-81b32f5be64ccdb2df57a760281406243ec62996.tar.gz |
system/virtualbox-addons: Updated for version 5.0.14.
Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
Diffstat (limited to 'system/virtualbox-addons/rc.vboxadd.diff')
-rw-r--r-- | system/virtualbox-addons/rc.vboxadd.diff | 205 |
1 files changed, 202 insertions, 3 deletions
diff --git a/system/virtualbox-addons/rc.vboxadd.diff b/system/virtualbox-addons/rc.vboxadd.diff index ca6cafd5be..929c25eeaf 100644 --- a/system/virtualbox-addons/rc.vboxadd.diff +++ b/system/virtualbox-addons/rc.vboxadd.diff @@ -1,6 +1,202 @@ ---- vboxadd.sh.orig 2012-03-13 15:52:25.000000000 +0100 -+++ vboxadd.sh 2012-09-18 22:09:48.886085813 +0200 -@@ -480,60 +480,13 @@ +--- vboxadd.sh.orig 2016-01-19 17:40:04.000000000 +0100 ++++ vboxadd.sh 2016-01-23 15:46:17.000000000 +0100 +@@ -146,42 +146,9 @@ + + dev=/dev/vboxguest + userdev=/dev/vboxuser +-config=/var/lib/VBoxGuestAdditions/config + owner=vboxadd + group=1 + +-test_for_gcc_and_make() +-{ +- which make > /dev/null 2>&1 || printf "\nThe make utility was not found. If the following module compilation fails then\nthis could be the reason and you should try installing it.\n" +- which gcc > /dev/null 2>&1 || printf "\nThe gcc utility was not found. If the following module compilation fails then\nthis could be the reason and you should try installing it.\n" +-} +- +-test_sane_kernel_dir() +-{ +- KERN_VER=`uname -r` +- KERN_DIR="/lib/modules/$KERN_VER/build" +- if [ -d "$KERN_DIR" ]; then +- KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true` +- if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then +- return 0 +- fi +- fi +- printf "\nThe headers for the current running kernel were not found. If the following\nmodule compilation fails then this could be the reason.\n" +- if [ "$system" = "redhat" ]; then +- if echo "$KERN_VER" | grep -q "uek"; then +- printf "The missing package can be probably installed with\nyum install kernel-uek-devel-$KERN_VER\n" +- else +- printf "The missing package can be probably installed with\nyum install kernel-devel-$KERN_VER\n" +- fi +- elif [ "$system" = "suse" ]; then +- KERN_VER_SUSE=`echo "$KERN_VER" | sed 's/.*-\([^-]*\)/\1/g'` +- KERN_VER_BASE=`echo "$KERN_VER" | sed 's/\(.*\)-[^-]*/\1/g'` +- printf "The missing package can be probably installed with\nzypper install kernel-$KERN_VER_SUSE-devel-$KERN_VER_BASE\n" +- elif [ "$system" = "debian" ]; then +- printf "The missing package can be probably installed with\napt-get install linux-headers-$KERN_VER\n" +- fi +-} +- + running_vboxguest() + { + lsmod | grep -q "vboxguest[^_-]" +@@ -253,13 +220,6 @@ + start() + { + begin "Starting the VirtualBox Guest Additions "; +- 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" + uname -r | grep -q -E '^2\.6|^3|^4' 2>/dev/null && + ps -A -o comm | grep -q '/*udevd$' 2>/dev/null || + no_udev=1 +@@ -331,202 +291,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() +-{ +- if [ -n "$(which dkms 2>/dev/null)" ]; then +- begin "Removing existing VirtualBox DKMS kernel modules" +- $DODKMS uninstall $OLDMODULES > $LOG +- succ_msg +- fi +- begin "Removing existing VirtualBox non-DKMS kernel modules" +- for i in $OLDMODULES; do +- find /lib/modules -name $i\* | xargs rm 2>/dev/null +- done +- succ_msg +-} +- +-# Build and install the VirtualBox guest kernel modules +-setup_modules() +-{ +- # don't stop the old modules here -- they might be in use +- cleanup_modules +- begin "Building the VirtualBox Guest Additions kernel modules" +- +- # Short cut out if a dkms build succeeds +- if [ -n "$(which dkms 2>/dev/null)" ] && +- $DODKMS install vboxguest $INSTALL_VER >> $LOG 2>&1; then +- succ_msg +- return 0 +- fi +- +- test_for_gcc_and_make +- test_sane_kernel_dir +- +- echo +- begin "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 +- show_error "Look at $LOG to find out what went wrong" +- return 1 +- fi +- succ_msg +- begin "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 +- show_error "Look at $LOG to find out what went wrong" +- return 1 +- fi +- succ_msg +- if expr `uname -r` '<' '2.6.27' > /dev/null; then +- echo "Not building the VirtualBox advanced graphics driver as this Linux version is" +- echo "too old to use it." +- else +- begin "Building the OpenGL support module" +- if ! $BUILDINTMP \ +- --use-module-symvers /tmp/vboxguest-Module.symvers \ +- --module-source $MODULE_SRC/vboxvideo \ +- --no-print-directory install >> $LOG 2>&1; then +- show_error "Look at $LOG to find out what went wrong. The module is not built but the others are." +- else +- succ_msg +- fi +- fi +- depmod +- return 0 +-} +- +-# Do non-kernel bits needed for the kernel modules to work properly (user +-# creation, udev, mount helper...) +-extra_setup() +-{ +- begin "Doing non-kernel setup of the Guest Additions" +- echo "Creating user for the Guest Additions." >> $LOG +- # 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 +- +- # 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 +- +- # Create udev description file +- if [ -d /etc/udev/rules.d ]; then +- echo "Creating udev rule for the Guest Additions kernel module." >> $LOG +- 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 +- +- # Put mount.vboxsf in the right place +- ln -sf "$lib_path/$PACKAGE/mount.vboxsf" /sbin +- # And an rc file to re-build the kernel modules and re-set-up the X server. +- ln -sf "$lib_path/$PACKAGE/vboxadd" /sbin/rcvboxadd +- ln -sf "$lib_path/$PACKAGE/vboxadd-x11" /sbin/rcvboxadd-x11 +- # At least Fedora 11 and Fedora 12 require the correct security context when +- # executing this command from service scripts. Shouldn't hurt for other +- # distributions. +- chcon -u system_u -t mount_exec_t "$lib_path/$PACKAGE/mount.vboxsf" > /dev/null 2>&1 +- # And at least Fedora 15 needs this for the acceleration support check to +- # work +- redhat_release=`cat /etc/redhat-release 2> /dev/null` +- case "$redhat_release" in Fedora\ release\ 15* ) +- for i in "$lib_path"/*.so +- do +- restorecon "$i" >/dev/null +- done +- ;; +- esac +- +- succ_msg +-} +- # setup_script setup() { @@ -14,6 +210,7 @@ - export BUILD_TYPE - export USERNAME - +- rm -f $LOG - MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER" - BUILDINTMP="$MODULE_SRC/build_in_tmp" - DODKMS="$MODULE_SRC/do_dkms" @@ -58,6 +255,8 @@ - - # Remove other files - rm /sbin/mount.vboxsf 2>/dev/null +- rm /sbin/rcvboxadd 2>/dev/null +- rm /sbin/rcvboxadd-x11 2>/dev/null - 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." } |