VirtualBox

Changeset 11725 in vbox for trunk/src/VBox/Installer/solaris


Ignore:
Timestamp:
Aug 27, 2008 10:21:47 PM (16 years ago)
Author:
vboxsync
Message:

#3076: Merged in the branch with the alternate driver authentication method. (34468:HEAD)

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/solaris/Makefile.kmk

    r11721 r11725  
    6969SOLARIS_STRIP_BINS = \
    7070        vboxdrv \
    71         VBoxBFE \
     71        $(if $(VBOX_WITH_VBOXBFE),VBoxBFE) \
    7272        VBoxDD.so \
    7373        VBoxDD2.so \
     
    9494        components/VBoxXPCOMIPCC.so \
    9595        xpidl
     96ifdef VBOX_WITH_HARDENING
     97SOLARIS_STRIP_BINS += \
     98        $(if $(VBOX_WITH_VBOXBFE),VBoxBFE.so) \
     99        $(if $(VBOX_WITH_VBOXSDL),VBoxSDL.so,) \
     100        $(if $(VBOX_WITH_QTGUI),VirtualBox3.so,)
     101endif
    96102
    97103# Do not remove relocation information of these binaries
     
    166172endif
    167173
     174## @todo Why are these done in this manner instead of $(if $(blah),) like the rest? grr!
    168175ifdef VBOX_WITH_HEADLESS
    169176 SOLARIS_STRIP_BINS += \
    170         VBoxHeadless
     177        VBoxHeadless \
     178        $(if $(VBOX_WITH_HARDENING),VBoxHeadless.so,)
    171179endif
    172180ifdef VBOX_WITH_WEBSERVICES
     
    232240        $(QUIET)$(if $(VBOX_WITH_VRDP_RDESKTOP),$(MKDIR) -p $(SOLARIS_INST_DIR)/rdesktop-vrdp-keymaps,)
    233241        $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/vboxdrv                                                          $(SOLARIS_INST_DIR)/vboxdrv
    234         $(QUIET)$(INSTALL) -m 0755 $(PATH_BIN)/VBoxBFE                                                          $(SOLARIS_INST_DIR)/VBoxBFE
     242        $(QUIET)$(if $(VBOX_WITH_VBOXBFE),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxBFE                                $(SOLARIS_INST_DIR)/VBoxBFE)
     243ifdef VBOX_WITH_HARDENING
     244        $(QUIET)$(if $(VBOX_WITH_VBOXBFE),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxBFE.so                             $(SOLARIS_INST_DIR)/VBoxBFE.so)
     245endif
    235246        $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxDD.so                                                        $(SOLARIS_INST_DIR)/VBoxDD.so
    236247        $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxDD2.so                                                       $(SOLARIS_INST_DIR)/VBoxDD2.so
     
    247258        $(QUIET)$(if $(VBOX_WITH_GUEST_PROPS),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxGuestPropSvc.so                $(SOLARIS_INST_DIR)/VBoxGuestPropSvc.so,)
    248259        $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxSDL                                $(SOLARIS_INST_DIR)/VBoxSDL,)
     260ifdef VBOX_WITH_HARDENING
     261        $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxSDL.so                             $(SOLARIS_INST_DIR)/VBoxSDL.so,)
     262endif
    249263        $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/VBoxRT.so                                                        $(SOLARIS_INST_DIR)/VBoxRT.so
    250264        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxKeyboard.so                         $(SOLARIS_INST_DIR)/VBoxKeyboard.so,)
    251265        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0755 $(PATH_BIN)/VirtualBox                              $(SOLARIS_INST_DIR)/VirtualBox,)
     266ifdef VBOX_WITH_HARDENING
     267        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0755 $(PATH_BIN)/VirtualBox.so                           $(SOLARIS_INST_DIR)/VirtualBox.so,)
     268endif
    252269        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_BIN)/libVBoxQtCore.so.4                      $(SOLARIS_INST_DIR)/libVBoxQtCore.so.4,)
    253270        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(INSTALL) -m 0644 $(PATH_BIN)/libVBoxQtGui.so.4                       $(SOLARIS_INST_DIR)/libVBoxQtGui.so.4,)
     
    265282        $(QUIET)$(if $(VBOX_WITH_VRDP),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxVRDP.so                               $(SOLARIS_INST_DIR)/VBoxVRDP.so,)
    266283        $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxHeadless                          $(SOLARIS_INST_DIR)/VBoxHeadless,)
     284ifdef VBOX_WITH_HARDENING
     285        $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(INSTALL) -m 0644 $(PATH_BIN)/VBoxHeadless.so                       $(SOLARIS_INST_DIR)/VBoxHeadless.so,)
     286endif
    267287        $(QUIET)$(if $(VBOX_WITH_VRDP_RDESKTOP),$(INSTALL) -m 0755 $(PATH_BIN)/rdesktop-vrdp                    $(SOLARIS_INST_DIR)/rdesktop-vrdp,)
    268288        $(QUIET)$(if $(VBOX_WITH_VRDP_RDESKTOP),$(INSTALL) -m 644 $(wildcard $(PATH_BIN)/rdesktop-vrdp-keymaps/*) $(SOLARIS_INST_DIR)/rdesktop-vrdp-keymaps/,)
    269289        $(call MSG_L1,Stripping binaries $(SOLARIS_INST_DIR))
    270290        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/vboxdrv,)
    271         $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxBFE,)
     291        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXBFE),strip $(SOLARIS_INST_DIR)/VBoxBFE,))
     292ifdef VBOX_WITH_HARDENING
     293        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXBFE),strip $(SOLARIS_INST_DIR)/VBoxBFE.so,))
     294endif
    272295        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxDD2.so,)
    273296        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxDD2.so,)
     
    281304        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxSVC,)
    282305        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXSDL),strip $(SOLARIS_INST_DIR)/VBoxSDL,),)
     306ifdef VBOX_WITH_HARDENING
     307        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXSDL),strip $(SOLARIS_INST_DIR)/VBoxSDL.so,),)
     308endif
    283309        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/VBoxRT.so,)
    284310        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QT4GUI),strip $(SOLARIS_INST_DIR)/VBoxKeyboard.so,),)
    285311        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QT4GUI),strip $(SOLARIS_INST_DIR)/VirtualBox,),)
     312ifdef VBOX_WITH_HARDENING
     313        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QT4GUI),strip $(SOLARIS_INST_DIR)/VirtualBox.so,),)
     314endif
    286315        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QT4GUI),strip $(SOLARIS_INST_DIR)/libVBoxQtCore.so.4,),)
    287316        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_QT4GUI),strip $(SOLARIS_INST_DIR)/libVBoxQtGui.so.4,),)
     
    299328        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VRDP),strip $(SOLARIS_INST_DIR)/VBoxVRDP.so,),)
    300329        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_HEADLESS),strip $(SOLARIS_INST_DIR)/VBoxHeadless,),)
     330ifdef VBOX_WITH_HARDENING
     331        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_HEADLESS),strip $(SOLARIS_INST_DIR)/VBoxHeadless.so,),)
     332endif
    301333        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VRDP_RDESKTOP),strip $(SOLARIS_INST_DIR)/rdesktop-vrdp,),)
    302334        $(QUIET)$(call MSG_L1,Installing and stripping relocatable objects $(SOLARIS_INST_DIR))
     
    328360        $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh            $(SOLARIS_INST_DIR)/vnic_setup.sh
    329361        $(QUIET)$(INSTALL) -m 0755 $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh            $(SOLARIS_INST_DIR)/vnic_term.sh
    330         $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/vboxdrv.sh                                                   $(SOLARIS_INST_DIR)/vboxdrv.sh
     362        $(QUIET)$(SED) \
     363                -e "s/_HARDENED_/$(if $(VBOX_WITH_HARDENED),hardened,))/" \
     364                --output $(SOLARIS_INST_DIR)/vboxdrv.sh.tmp \
     365                 $(PATH_CURRENT)/vboxdrv.sh
     366        $(QUIET)$(INSTALL) -m 0755 $(SOLARIS_INST_DIR)/vboxdrv.sh.tmp                                           $(SOLARIS_INST_DIR)/vboxdrv.sh
     367        $(QUIET)$(RM) -f $(SOLARIS_INST_DIR)/vboxdrv.sh.tmp
    331368        $(QUIET)$(INSTALL) -m 0755 $(PATH_CURRENT)/VBox.sh                                                      $(SOLARIS_INST_DIR)/VBox.sh
    332369        $(QUIET)$(if $(VBOX_WITH_QTGUI),$(INSTALL) -m 0644 $(PATH_CURRENT)/virtualbox.desktop                   $(SOLARIS_INST_DIR)/virtualbox.desktop,)
     
    346383        $(QUIET)$(if $(VBOX_WITH_SOLARIS_VBI),$(INSTALL) -m 0644 $(SOLARIS_VBI_DIR)/$(VBIPKG_FILENAME).pkg      $(SOLARIS_INST_DIR)/$(VBIPKG_FILENAME).pkg,)
    347384        $(call MSG_L1,Creating install package: $(PKG_FILENAME).tar.gz)
    348         $(QUIET)$(SOLARIS_INST_DIR)/makepackage.sh $(SOLARIS_INST_DIR) $(PKG_FILENAME) $(KBUILD_TARGET_ARCH) $(if $(VBOX_WITH_SOLARIS_VBI),$(VBIPKG_FILENAME).pkg,)
     385        $(QUIET)$(SOLARIS_INST_DIR)/makepackage.sh $(if $(VBOX_WITH_HARDENING),--hardened) \
     386                $(SOLARIS_INST_DIR) \
     387                $(PKG_FILENAME) \
     388                $(KBUILD_TARGET_ARCH) \
     389                $(if $(VBOX_WITH_SOLARIS_VBI),$(VBIPKG_FILENAME).pkg,)
    349390        $(QUIET)$(INSTALL) -m 0644 $(SOLARIS_INST_DIR)/$(PKG_FILENAME).tar.gz $(PATH_BIN)
    350391        @# Clean up files emitted as side-effect or result of packing
     
    382423                Makefile.kmk
    383424        $(call MSG_L1,Installing debug binaries $(SOLARIS_DBG_DIR))
    384         $(QUIET)$(RM) -Rf $(SOLARIS_DBG_DIR)
    385         $(QUIET)$(MKDIR) -p $(SOLARIS_DBG_DIR)/components
     425        $(QUIET)$(RM) -Rf -- $(SOLARIS_DBG_DIR)
     426        $(QUIET)$(MKDIR) -p -- $(SOLARIS_DBG_DIR)/components
    386427        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/vboxdrv                                                            $(SOLARIS_DBG_DIR)/vboxdrv
    387         $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxBFE                                                            $(SOLARIS_DBG_DIR)/VBoxBFE
     428        $(QUIET)$(if $(VBOX_WITH_VBOXBFE),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxBFE                                  $(SOLARIS_DBG_DIR)/VBoxBFE)
     429ifdef VBOX_WITH_HARDENING
     430        $(QUIET)$(if $(VBOX_WITH_VBOXBFE),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxBFE.so                               $(SOLARIS_DBG_DIR)/VBoxBFE.so)
     431endif
    388432        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDD.so                                                          $(SOLARIS_DBG_DIR)/VBoxDD.so
    389433        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDD2.so                                                         $(SOLARIS_DBG_DIR)/VBoxDD2.so
     
    392436        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxRT.so                                                          $(SOLARIS_DBG_DIR)/VBoxRT.so
    393437        $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSDL                                  $(SOLARIS_DBG_DIR)/VBoxSDL,)
     438ifdef VBOX_WITH_HARDENING
     439        $(QUIET)$(if $(VBOX_WITH_VBOXSDL),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSDL.so                               $(SOLARIS_DBG_DIR)/VBoxSDL.so,)
     440endif
    394441        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSVC                                                            $(SOLARIS_DBG_DIR)/VBoxSVC
    395442        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDDU.so                                                         $(SOLARIS_DBG_DIR)/VBoxDDU.so
     
    404451        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/libVBoxQtCore.so.4                        $(SOLARIS_DBG_DIR)/libVBoxQtCore.so.4,)
    405452        $(QUIET)$(if $(VBOX_WITH_QT4GUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/libVBoxQtGui.so.4                         $(SOLARIS_DBG_DIR)/libVBoxQtGui.so.4,)
     453ifdef VBOX_WITH_HARDENING
     454        $(QUIET)$(if $(VBOX_WITH_QTGUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VirtualBox3.so                             $(SOLARIS_DBG_DIR)/VirtualBox3.so,)
     455endif
    406456        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxSettings.so                                                    $(SOLARIS_DBG_DIR)/VBoxSettings.so
    407457        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/components/VBoxC.so                                                $(SOLARIS_DBG_DIR)/components/VBoxC.so
     
    411461        $(QUIET)$(if $(VBOX_WITH_VRDP),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxVRDP.so                                 $(SOLARIS_DBG_DIR)/VBoxVRDP.so,)
    412462        $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxHeadless                            $(SOLARIS_DBG_DIR)/VBoxHeadless,)
     463ifdef VBOX_WITH_HARDENING
     464        $(QUIET)$(if $(VBOX_WITH_HEADLESS),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxHeadless.so                         $(SOLARIS_DBG_DIR)/VBoxHeadless.so,)
     465endif
    413466        $(QUIET)$(if $(VBOX_WITH_VRDP_RDESKTOP),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/rdesktop-vrdp                      $(SOLARIS_DBG_DIR)/rdesktop-vrdp,)
    414467        $(QUIET)$(if $(VBOX_WITH_DEBUGGER_GUI),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxDbg.so                          $(SOLARIS_DBG_DIR)/VBoxDbg.so,)
  • trunk/src/VBox/Installer/solaris/makepackage.sh

    r11510 r11725  
    11#!/bin/sh
     2## @file
    23# Sun xVM VirtualBox
    34# VirtualBox Solaris package creation script.
     5#
     6
    47#
    58# Copyright (C) 2007-2008 Sun Microsystems, Inc.
     
    2023#
    2124# Usage:
    22 #       makespackage.sh $(PATH_TARGET)/install packagename $(KBUILD_TARGET_ARCH) [VBIPackageName]
     25#       makespackage.sh [--hardened] $(PATH_TARGET)/install packagename $(KBUILD_TARGET_ARCH) [VBIPackageName]
     26
     27
     28# Parse options.
     29HARDENED=""
     30while test $# -ge 1;
     31do
     32    case "$1" in
     33        --hardened)
     34            HARDENED=1
     35            ;;
     36    *)
     37        break
     38        ;;
     39    esac
     40    shift
     41done
    2342
    2443if [ -z "$3" ]; then
     
    84103filelist_fixup prototype '$3 == "opt/VirtualBox/vboxdrv.conf=vboxdrv.conf"'                             '$3 = "platform/i86pc/kernel/drv/vboxdrv.conf=vboxdrv.conf"'
    85104
     105# hardening requires some executables to be marked setuid.
     106if test -n "$HARDENED"; then
     107    $VBOX_AWK 'NF == 6 \
     108        && (    $3 == "opt/VirtualBox/VirtualBox=VirtualBox" \
     109            ||  $3 == "opt/VirtualBox/VirtualBox3=VirtualBox3" \
     110            ||  $3 == "opt/VirtualBox/VBoxHeadless=VBoxHeadless" \
     111            ||  $3 == "opt/VirtualBox/VBoxSDL=VBoxSDL" \
     112            ||  $3 == "opt/VirtualBox/VBoxBFE=VBoxBFE" \
     113            ) \
     114       { $4 = "4755" } { print }' prototype > prototype2
     115    mv -f prototype2 prototype   
     116fi
     117
    86118# desktop links and icons
    87119filelist_fixup prototype '$3 == "opt/VirtualBox/virtualbox.desktop=virtualbox.desktop"'                 '$3 = "usr/share/applications/virtualbox.desktop=virtualbox.desktop"'
     
    93125# webservice SMF start/stop script
    94126filelist_fixup prototype '$3 == "opt/VirtualBox/smf-vboxwebsrv.sh=smf-vboxwebsrv.sh"'                   '$3 = "opt/VirtualBox/smf-vboxwebsrv=smf-vboxwebsrv.sh"'
     127echo " --- start of prototype  ---"
     128cat prototype
     129echo " --- end of prototype --- "
    95130
    96131# explicitly set timestamp to shutup warning
  • trunk/src/VBox/Installer/solaris/postinstall.sh

    r11644 r11725  
    11#!/bin/sh
     2## @file
    23# Sun xVM VirtualBox
    34# VirtualBox postinstall script for Solaris.
     5#
     6
    47#
    58# Copyright (C) 2007-2008 Sun Microsystems, Inc.
     
    6669    /usr/sbin/devfsadm -i vboxdrv
    6770fi
    68 
     71   
    6972echo "Done."
    7073
  • trunk/src/VBox/Installer/solaris/vboxdrv.sh

    r10990 r11725  
    7272        info "VirtualBox kernel module already loaded."
    7373    else
    74         /usr/sbin/add_drv -m'* 0666 root sys' $MODNAME
     74        if test -n "_HARDENED_"; then
     75            /usr/sbin/add_drv -m'* 0600 root sys' $MODNAME
     76        else
     77            /usr/sbin/add_drv -m'* 0666 root sys' $MODNAME
     78        fi
    7579        if test ! module_loaded; then
    7680            abort "## Failed to load VirtualBox kernel module."
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