VirtualBox

Ignore:
Timestamp:
Feb 23, 2009 4:31:56 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
43244
Message:

Solaris/Additions: SharedFolders and pkgchk consistency.

Location:
trunk/src/VBox/Additions/solaris/Installer
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/solaris/Installer/makepackage.sh

    r16786 r17031  
    7272filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/amd64/VBoxService=amd64/VBoxService"'  '$4 = "4755"'
    7373
    74 # 32-bit kernel module
     74# 32-bit vboxguest
    7575filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/vboxguest=vboxguest"'              '$3 = "usr/kernel/drv/vboxguest=vboxguest"; $6="sys"'
    7676
    77 # 64-bit kernel module
     77# 64-bit vboxguest
    7878filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/amd64/vboxguest=amd64/vboxguest"'  '$3 = "usr/kernel/drv/amd64/vboxguest=amd64/vboxguest"; $6="sys"'
    7979
    80 # kernel module config file
     80# vboxguest module config file
    8181filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/vboxguest.conf=vboxguest.conf"'    '$3 = "usr/kernel/drv/vboxguest.conf=vboxguest.conf"'
     82
     83# 32-bit vboxvfs
     84filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/vboxvfs=vboxvfs"'                  '$3 = "usr/kernel/fs/vboxvfs=vboxvfs"; $6="sys"'
     85
     86# 64-bit vboxvfs
     87filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/amd64/vboxvfs=amd64/vboxvfs"'      '$3 = "usr/kernel/fs/amd64/vboxvfs=amd64/vboxvfs"; $6="sys"'
     88
     89# vboxvfsmount binary (always 32-bit on combined package)
     90filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/vboxvfsmount=vboxvfsmount"'         '$3 = "etc/fs/vboxvfs/mount=vboxvfsmount"; $6="sys"'
     91
     92# this is required for amd64-specific package where we do not build 32-bit binaries
     93filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/amd64/vboxvfsmount=vboxvfsmount"'   '$3 = "etc/fs/vboxvfs/mount=amd64/vboxvfsmount"; $6="sys"'
     94
    8295
    8396filelist_fixup prototype '$3 == "opt/VirtualBoxAdditions/vboxservice.xml=vboxservice.xml"'  '$3 = "var/svc/manifest/system/virtualbox/vboxservice.xml=vboxservice.xml"'
  • trunk/src/VBox/Additions/solaris/Installer/postinstall.sh

    r16795 r17031  
    2020uncompress_files()
    2121{
    22     # self-overwriting
     22    # Remove compressed names from the pkg
     23    /usr/sbin/removef $PKGINST "$1/VBoxClient.Z" 1>/dev/null
     24    /usr/sbin/removef $PKGINST "$1/VBoxService.Z" 1>/dev/null
     25    /usr/sbin/removef $PKGINST "$1/VBoxControl.Z" 1>/dev/null
     26    /usr/sbin/removef $PKGINST "$1/vboxvideo_drv_13.so.Z" 1>/dev/null
     27    /usr/sbin/removef $PKGINST "$1/vboxvideo_drv_14.so.Z" 1>/dev/null
     28    /usr/sbin/removef $PKGINST "$1/vboxvideo_drv_15.so.Z" 1>/dev/null
     29    /usr/sbin/removef $PKGINST "$1/vboxvideo_drv_16.so.Z" 1>/dev/null
     30    /usr/sbin/removef $PKGINST "$1/vboxvideo_drv_71.so.Z" 1>/dev/null
     31    /usr/sbin/removef $PKGINST "$1/vboxmouse_drv_14.so.Z" 1>/dev/null
     32    /usr/sbin/removef $PKGINST "$1/vboxmouse_drv_15.so.Z" 1>/dev/null
     33    /usr/sbin/removef $PKGINST "$1/vboxmouse_drv_16.so.Z" 1>/dev/null
     34    /usr/sbin/removef $PKGINST "$1/vboxmouse_drv_70.so.Z" 1>/dev/null
     35    /usr/sbin/removef $PKGINST "$1/vboxmouse_drv_71.so.Z" 1>/dev/null
     36
     37    # Add uncompressed names to the pkg
     38    /usr/sbin/installf -c none $PKGINST "$1/VBoxClient" f
     39    /usr/sbin/installf -c none $PKGINST "$1/VBoxService" f
     40    /usr/sbin/installf -c none $PKGINST "$1/VBoxControl" f
     41    /usr/sbin/installf -c none $PKGINST "$1/vboxvideo_drv_13.so" f
     42    /usr/sbin/installf -c none $PKGINST "$1/vboxvideo_drv_14.so" f
     43    /usr/sbin/installf -c none $PKGINST "$1/vboxvideo_drv_15.so" f
     44    /usr/sbin/installf -c none $PKGINST "$1/vboxvideo_drv_16.so" f
     45    /usr/sbin/installf -c none $PKGINST "$1/vboxvideo_drv_71.so" f
     46    /usr/sbin/installf -c none $PKGINST "$1/vboxmouse_drv_14.so" f
     47    /usr/sbin/installf -c none $PKGINST "$1/vboxmouse_drv_15.so" f
     48    /usr/sbin/installf -c none $PKGINST "$1/vboxmouse_drv_16.so" f
     49    /usr/sbin/installf -c none $PKGINST "$1/vboxmouse_drv_70.so" f
     50    /usr/sbin/installf -c none $PKGINST "$1/vboxmouse_drv_71.so" f
     51
     52    # Overwrite compressed with uncompressed file
    2353    uncompress -f "$1/VBoxClient.Z" > /dev/null 2>&1
    2454    uncompress -f "$1/VBoxService.Z" > /dev/null 2>&1
     
    2757    uncompress -f "$1/vboxvideo_drv_14.so.Z" > /dev/null 2>&1
    2858    uncompress -f "$1/vboxvideo_drv_15.so.Z" > /dev/null 2>&1
     59    uncompress -f "$1/vboxvideo_drv_16.so.Z" > /dev/null 2>&1
    2960    uncompress -f "$1/vboxvideo_drv_71.so.Z" > /dev/null 2>&1
    3061    uncompress -f "$1/vboxmouse_drv_14.so.Z" > /dev/null 2>&1
    3162    uncompress -f "$1/vboxmouse_drv_15.so.Z" > /dev/null 2>&1
     63    uncompress -f "$1/vboxmouse_drv_16.so.Z" > /dev/null 2>&1
    3264    uncompress -f "$1/vboxmouse_drv_70.so.Z" > /dev/null 2>&1
    3365    uncompress -f "$1/vboxmouse_drv_71.so.Z" > /dev/null 2>&1
     
    5183# vboxguest.sh would've been installed, we just need to call it.
    5284echo "Configuring VirtualBox guest kernel module..."
    53 $vboxadditions_path/vboxguest.sh restart silentunload
     85$vboxadditions_path/vboxguest.sh restartall silentunload
    5486
    5587sed -e '
     
    97129        vboxvideo_src="vboxvideo_drv_14.so"
    98130        ;;
     131    1.5.99 | 1.6.* )
     132        vboxmouse_src="vboxmouse_drv_16.so"
     133        vboxvideo_src="vboxvideo_drv_16.so"
     134        ;;   
    99135    1.5.* )
    100136        vboxmouse_src="vboxmouse_drv_15.so"
     
    130166        cp "$vboxadditions_path/$vboxvideo_src" "$vboxvideo_dest"
    131167
    132         # Removing redundent files
    133         /usr/sbin/removef $PKGINST $vboxadditions_path/vboxmouse_drv_* 1>/dev/null 2>/dev/null
    134         /usr/sbin/removef $PKGINST $vboxadditions_path/vboxvideo_drv_* 1>/dev/null 2>/dev/null
     168        # Removing redundent names from pkg and files from disk
     169        /usr/sbin/removef $PKGINST $vboxadditions_path/vboxmouse_drv_* 1>/dev/null
     170        /usr/sbin/removef $PKGINST $vboxadditions_path/vboxvideo_drv_* 1>/dev/null
    135171        rm -f $vboxadditions_path/vboxmouse_drv_*
    136172        rm -f $vboxadditions_path/vboxvideo_drv_*
     
    146182        cp "$vboxadditions64_path/$vboxvideo_src" "$vboxvideo_dest"
    147183
    148         # Removing redundent files
    149         /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxmouse_drv_* 1>/dev/null 2>/dev/null
    150         /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxvideo_drv_* 1>/dev/null 2>/dev/null
     184        # Removing redundent names from pkg and files from disk
     185        /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxmouse_drv_* 1>/dev/null
     186        /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxvideo_drv_* 1>/dev/null
    151187        rm -f $vboxadditions64_path/vboxmouse_drv_*
    152188        rm -f $vboxadditions64_path/vboxvideo_drv_*
     
    155191    # Some distros like Indiana have no xorg.conf, deal with this
    156192    if test ! -f '/etc/X11/xorg.conf' && test ! -f '/etc/X11/.xorg.conf'; then
     193        /usr/sbin/removef $PKGINST $vboxadditions_path/solarix_xorg.conf 1>/dev/null
    157194        mv -f $vboxadditions_path/solaris_xorg.conf /etc/X11/.xorg.conf
    158195    fi
     
    179216fi
    180217
    181 
    182 # Remove redundant files
    183 /usr/sbin/removef $PKGINST $vboxadditions_path/etc/devlink.tab 1>/dev/null
    184 /usr/sbin/removef $PKGINST $vboxadditions_path/etc 1>/dev/null
    185 rm -rf $vboxadditions_path/etc
    186 
    187218# Finalize
    188219/usr/sbin/removef -f $PKGINST
  • trunk/src/VBox/Additions/solaris/Installer/preremove.sh

    r13578 r17031  
    2929
    3030# vboxguest.sh would've been installed, we just need to call it.
    31 /opt/VirtualBoxAdditions/vboxguest.sh stop
     31/opt/VirtualBoxAdditions/vboxguest.sh stopall
    3232
    3333# remove devlink.tab entry for vboxguest
  • trunk/src/VBox/Additions/solaris/Installer/vboxguest.sh

    r16786 r17031  
    2020SILENTUNLOAD=""
    2121MODNAME="vboxguest"
     22VFSMODNAME="vboxvfs"
    2223MODDIR32="/usr/kernel/drv"
    2324MODDIR64=$MODDIR32/amd64
     25VFSDIR32="/usr/kernel/fs"
     26VFSDIR64="/usr/kernel/fs/amd64"
    2427
    2528abort()
     
    5053{
    5154    if test -f "/etc/name_to_major"; then
    52         loadentry=`cat /etc/name_to_major | grep $MODNAME`
    53     else
    54         loadentry=`/usr/sbin/modinfo | grep $MODNAME`
     55        loadentry=`cat /etc/name_to_major | grep $1`
     56    else
     57        loadentry=`/usr/sbin/modinfo | grep $1`
    5558    fi
    5659    if test -z "$loadentry"; then
     
    6063}
    6164
     65vboxguest_loaded()
     66{
     67    module_loaded $MODNAME
     68    return $?
     69}
     70
     71vboxvfs_loaded()
     72{
     73    module_loaded $VFSMODNAME
     74    return $?
     75}
     76
    6277check_root()
    6378{
     
    6984start_module()
    7085{
    71     if module_loaded; then
     86    if vboxguest_loaded; then
    7287        info "VirtualBox guest kernel module already loaded."
    7388    else
    7489        /usr/sbin/add_drv -i'pci80ee,cafe' -m'* 0666 root sys' $MODNAME
    75         if test ! module_loaded; then
     90        if test ! vboxguest_loaded; then
    7691            abort "Failed to load VirtualBox guest kernel module."
    7792        elif test -c "/devices/pci@0,0/pci80ee,cafe@4:$MODNAME"; then
     
    86101stop_module()
    87102{
    88     if module_loaded; then
     103    if vboxguest_loaded; then
    89104        /usr/sbin/rem_drv $MODNAME || abort "## Failed to unload VirtualBox guest kernel module."
    90105        info "VirtualBox guest kernel module unloaded."
     
    94109}
    95110
     111start_vboxvfs()
     112{
     113    if vboxvfs_loaded; then
     114        info "VirtualBox FileSystem kernel module already loaded."
     115    else
     116        /usr/sbin/modload -p fs/$VFSMODNAME || abort "Failed to load VirtualBox FileSystem kernel module."
     117        if test ! vboxvfs_loaded; then
     118            abort "Failed to load VirtualBox FileSystem kernel module."
     119        else
     120            info "VirtualBox FileSystem kernel module loaded."
     121        fi
     122    fi
     123}
     124
     125stop_vboxvfs()
     126{
     127    if vboxvfs_loaded; then
     128        vboxvfs_mod_id=`/usr/sbin/modinfo | grep $VFSMODNAME | cut -f 1 -d ' ' `
     129        if test -n "$vboxvfs_mod_id"; then
     130            /usr/sbin/modunload -i $vboxvfs_mod_id || abort "Failed to unload VirtualBox FileSystem module."
     131            info "VirtualBox FileSystem kernel module unloaded."
     132        fi
     133    elif test -z "$SILENTUNLOAD"; then
     134        info "VirtualBox FileSystem kernel module not loaded."
     135    fi
     136}
     137
    96138restart_module()
    97139{
     
    102144}
    103145
     146restart_all()
     147{
     148    stop_module
     149    sync
     150    start_module
     151    return 0
     152}
     153
    104154status_module()
    105155{
    106     if module_loaded; then
     156    if vboxguest_loaded; then
    107157        info "Running."
    108158    else
    109159        info "Stopped."
    110160    fi
     161}
     162
     163stop_all()
     164{
     165    stop_vboxvfs
     166    stop_module
     167    return 0
    111168}
    112169
     
    119176
    120177case "$1" in
     178stopall)
     179    stop_all
     180    ;;
     181restartall)
     182    restart_all
     183    ;;
    121184start)
    122185    start_module
     
    130193status)
    131194    status_module
     195    ;;
     196vfsstart)
     197    start_vboxvfs
     198    ;;
     199vfsstop)
     200    stop_vboxvfs
    132201    ;;
    133202*)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette