desktop/virtualbox/virtualbox.install
abveritas f93cf4a12a vbox
2011-01-24 21:58:00 +00:00

119 lines
3.3 KiB
Plaintext

# $1: The new package version
post_install() {
# Build new module
/etc/rc.d/vboxdrv setup
# Add vboxusers group, GID 108 is reserved,
# but in some systems it may be being used - please replace if needed.
groupadd -f -g 108 vboxusers
# Create the directory below if it doesn't exist
mkdir -p "/var/run/VirtualBox"
# Load new udev rule for module vboxdrv
udevadm control --reload-rules
# Show the license
echo >&2
echo '==> You must agree to the following license in order to use this program:' >&2
echo '------------------------------------------------------------------------' >&2
echo >&2
cat "/opt/VirtualBox/LICENSE" >&2
echo >&2
echo '------------------------------------------------------------------------' >&2
/bin/cat <<EOF
==> Add your user to the vboxusers group:
==> # gpasswd -a USERNAME vboxusers
==>
==> You must load vboxdrv module before starting VirtualBox:
==> # modprobe vboxdrv
==>
==> You must load vboxnetflt for Host Interface Networking:
==> # modprobe vboxnetflt
==>
==> You must load vboxnetadp for Host-Only networking:
==> # modprobe vboxnetadp
==>
==> To load it automatically, add vboxdrv module to the "MODULES" array
==> "/etc/rc.conf".
==>
==> Run \`/etc/rc.d/vboxdrv setup\` as root every time your kernel is
==> upgraded, to compile the module for the new kernel version.
==>
==> If USB does not work for you out-of-the-box, add the following line
==> to "/etc/fstab":
==> "none /proc/bus/usb usbfs auto,busgid=108,busmode=0775,devgid=108,devmode=0664 0 0"
EOF
}
# $1: The new package version
# $2: The old package version
post_upgrade() {
_NEWVERSION=`echo $1 | cut -f-1 -d '-'`
_OLDVERSION=`echo $2 | cut -f-1 -d '-'`
# Remove any stuff (e.g. module compilation files) from an old installation - old versions used
# to use these directories.
if [ "$_NEWVERSION" != "$_OLDVERSION" ]; then
rm -Rf "/opt/VirtualBox-${_OLDVERSION}" &> /dev/null
fi
if [ "$1" != "$2" ]; then
rm -Rf "/opt/virtualbox" &> /dev/null
fi
# Build new module
/etc/rc.d/vboxdrv setup
# Create the directory below if it doesn't exist
mkdir -p "/var/run/VirtualBox"
/bin/cat <<EOF
==> You must load vboxdrv module before starting VirtualBox:
==> # modprobe vboxdrv
==>
==> You must load vboxnetflt for Host Interface Networking:
==> # modprobe vboxnetflt
==>
==> You must load vboxnetadp for Host-Only networking:
==> # modprobe vboxnetadp
==>
==> To load it automatically, add vboxdrv module to the "MODULES" array
==> "/etc/rc.conf".
==>
==> Run \`/etc/rc.d/vboxdrv setup\` as root every time your kernel is
==> upgraded, to compile the module for the new kernel version.
==>
==> If USB does not work for you out-of-the-box, add the following line
==> to "/etc/fstab":
==> "none /proc/bus/usb usbfs auto,busgid=108,busmode=0775,devgid=108,devmode=0664 0 0"
EOF
if [ "`vercmp $_OLDVERSION 3.2.2`" -lt 0 ]; then
/bin/cat <<EOF
==> IMPORTANT: This package now uses \`/etc/rc.d/vboxdrv setup\` instead
==> of the old "vbox_build_module" script.
EOF
fi
}
# $1: The old package version
pre_remove() {
# Unload modules (if any)
for _mod in vbox{drv,netadp,netflt}; do
modprobe -r $_mod &> /dev/null
done
# Remove the module files
rm -f "/lib/modules/`uname -r`/misc/"{vboxdrv,vboxnetadp,vboxnetflt}.ko
# Remove any stuff remaining from the module compilation
rm -Rf "/opt/VirtualBox"
}