VirtualBox

Changeset 92503 in vbox


Ignore:
Timestamp:
Nov 18, 2021 5:43:22 PM (3 years ago)
Author:
vboxsync
Message:

Installer/solaris, Additions/solaris/Installer: Fix handing of /etc/devlink.tab group membership in the driver install. Automatically adjusts to the group which should be used on the respective OS update version. Done in a way which automatically repairs the incorrect group membership on the next install/uninstall.

Location:
trunk/src/VBox
Files:
3 edited

Legend:

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

    r82968 r92503  
    9898    $vboxadditions_path/vboxguest.sh start
    9999
     100    # Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
     101    # it was always using group sys)
     102    group=sys
     103    if [ -f /etc/dev/reserved_devnames ]; then
     104        # Solaris 11 SRU6 and later use group root (check a file which isn't
     105        # tainted by VirtualBox install scripts and allow no other group)
     106        refgroup=$(LC_ALL=C /usr/bin/ls -lL /etc/dev/reserved_devnames | awk '{ print $4 }' 2>/dev/null)
     107        if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
     108            group=root
     109        fi
     110        unset refgroup
     111    fi
     112
    100113    sed -e '/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
    101114    echo "type=ddi_pseudo;name=vboxguest        \D" >> /etc/devlink.vbox
     115    chmod 0644 /etc/devlink.vbox
     116    chown root:$group /etc/devlink.vbox
    102117    mv -f /etc/devlink.vbox /etc/devlink.tab
    103118
  • trunk/src/VBox/Additions/solaris/Installer/preremove.sh

    r82968 r92503  
    4848/opt/VirtualBoxAdditions/vboxguest.sh stopall silentunload
    4949
     50# Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
     51# it was always using group sys)
     52group=sys
     53if [ -f /etc/dev/reserved_devnames ]; then
     54    # Solaris 11 SRU6 and later use group root (check a file which isn't
     55    # tainted by VirtualBox install scripts and allow no other group)
     56    refgroup=$(LC_ALL=C /usr/bin/ls -lL /etc/dev/reserved_devnames | awk '{ print $4 }' 2>/dev/null)
     57    if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
     58        group=root
     59    fi
     60    unset refgroup
     61fi
     62
    5063# remove devlink.tab entry for vboxguest
    51 sed -e '
    52 /name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
     64sed -e '/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
     65chmod 0644 /etc/devlink.vbox
     66chown root:$group /etc/devlink.vbox
    5367mv -f /etc/devlink.vbox /etc/devlink.tab
    5468
  • trunk/src/VBox/Installer/solaris/vboxconfig.sh

    r82968 r92503  
    674674    fi
    675675
     676    # Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
     677    # it was always using group sys)
     678    group=sys
     679    if [ -f "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" ]; then
     680        # Solaris 11 SRU6 and later use group root (check a file which isn't
     681        # tainted by VirtualBox install scripts and allow no other group)
     682        refgroup=$(LC_ALL=C /usr/bin/ls -lL "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" | awk '{ print $4 }' 2>/dev/null)
     683        if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
     684            group=root
     685        fi
     686        unset refgroup
     687    fi
     688
    676689    ## Add vboxdrv to devlink.tab (KEEP TABS!)
    677690    if test -f "$PKG_INSTALL_ROOT/etc/devlink.tab"; then
     
    679692        echo "type=ddi_pseudo;name=vboxdrv;minor=vboxdrv        \D"  >> "$PKG_INSTALL_ROOT/etc/devlink.vbox"
    680693        echo "type=ddi_pseudo;name=vboxdrv;minor=vboxdrvu       \M0" >> "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     694        chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     695        chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
    681696        mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
    682697    else
     
    755770        sed -e '/name=vboxusbmon/d' "$PKG_INSTALL_ROOT/etc/devlink.tab" > "$PKG_INSTALL_ROOT/etc/devlink.vbox"
    756771        echo "type=ddi_pseudo;name=vboxusbmon   \D" >> "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     772        chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     773        chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
    757774        mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
    758775
     
    785802    fatal=$1
    786803
     804    # Figure out group to use for /etc/devlink.tab (before Solaris 11 SRU6
     805    # it was always using group sys)
     806    group=sys
     807    if [ -f "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" ]; then
     808        # Solaris 11 SRU6 and later use group root (check a file which isn't
     809        # tainted by VirtualBox install scripts and allow no other group)
     810        refgroup=$(LC_ALL=C /usr/bin/ls -lL "$PKG_INSTALL_ROOT/etc/dev/reserved_devnames" | awk '{ print $4 }' 2>/dev/null)
     811        if [ $? -eq 0 -a "x$refgroup" = "xroot" ]; then
     812            group=root
     813        fi
     814        unset refgroup
     815    fi
     816
    787817    # Remove vboxdrv[u] from devlink.tab
    788818    if test -f "$PKG_INSTALL_ROOT/etc/devlink.tab"; then
     
    790820        if test -n "$devlinkfound"; then
    791821            sed -e '/name=vboxdrv/d' -e '/name=vboxdrvu/d' "$PKG_INSTALL_ROOT/etc/devlink.tab" > "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     822            chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     823            chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
    792824            mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
    793825        fi
     
    797829        if test -n "$devlinkfound"; then
    798830            sed -e '/name=vboxusbmon/d' "$PKG_INSTALL_ROOT/etc/devlink.tab" > "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     831            chmod 0644 "$PKG_INSTALL_ROOT/etc/devlink.vbox"
     832            chown root:$group "$PKG_INSTALL_ROOT/etc/devlink.vbox"
    799833            mv -f "$PKG_INSTALL_ROOT/etc/devlink.vbox" "$PKG_INSTALL_ROOT/etc/devlink.tab"
    800834        fi
Note: See TracChangeset for help on using the changeset viewer.

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