1
0
forked from pool/virtualbox
virtualbox/vboxguestconfig.sh
Larry Finger 2ab1b7752d - Add file "fix_32_bit_builds.patch" to fix error in 32-bit builds.
Add file "switch_to_python3.6.patch" to convert to Python3.
  Update warning regarding the security hole in USB passthrough. The text no longer refers
  to an old bugzilla entry (bsc#1097248).
  Script vboxguestconfig.sh is fixed.

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=432
2018-06-19 17:53:58 +00:00

63 lines
2.0 KiB
Bash

#!/bin/bash
#
# Script to build VirtualBox guest kernel modules
# Copyright C 2017 by Larry Finger
#
# This script is part of the openSUSE VirtualBox package
#
SOURCE="/usr/src/kernel-modules/"
LOGFILE="/var/log/virtualbox.log"
INCLUDE="/lib/modules/`uname -r`/build/include"
#
# Test if vboxsf module loaded. If it is, skip everything else
loaded=$(lsmod | grep vboxsf)
if [ -n "$loaded" ] ; then
echo "Kernel modules available. but we will continue..."
fi
#
# Check if virtualbox-guest-source is installed, quit if not
if ! rpm -qf "$SOURCE/additions/guest_src.tar.bz2" &>/dev/null ; then
echo "Sources for building guest modules are not present,"
echo "Use 'sudo zypper install virtualbox-guest-source' to install them. Quitting .."
exit 1
fi
# unpack source
pushd $SOURCE > /dev/null 2>&1
tar jxf additions/guest_src.tar.bz2 > /dev/null 2>&1
popd > /dev/null 2>&1
#
# Check if virtualbox-guest-source version matches virtualbox version
if [ "$(rpm -q virtualbox virtualbox-guest-source --queryformat='%{version}-%{release}\n' 2>/dev/null | sort -u | wc -l)" -ne "1" ] ; then
echo "virtualbox-host-source package version doesn't match the version of virtualbox package."
echo "This situation is probably not fatal, thus we will try to continue .."
fi
# Prerequisites are available, start build
pushd $SOURCE/additions/src > /dev/null 2>&1
echo "Building kernel modules..."
make > $LOGFILE 2>&1
if [ "$?" -ne 0 ] ; then
echo ""
echo "Build of VirtualBox guest kernel modules failed."
echo "Look at $LOGFILE to find reasons."
popd > /dev/null 2>&1
exit 1
else
echo "Kernel modules built correctly. They will now be installed."
fi
make install >> $LOGFILE 2>&1
if [ "$?" -ne 0 ] ; then
echo ""
echo "Installation of VirtualBox guest kernel modules failed."
echo "Look at $LOGFILE to find reasons."
popd > /dev/null 2>&1
exit 1
fi
depmod -a
modprobe -av vboxguest vboxvideo vboxsf
cd ../..
rm -rf additions
popd > /dev/null 2>&1
echo "Kernel modules are installed and loaded."
exit 0