VirtualBox

Ignore:
Timestamp:
May 13, 2011 9:17:29 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
71740
Message:

Installer/linux: split out udev rule installation in order to share the code among the different Linux installers, added a testcase and fixed a broken rule found by the testcase

Location:
trunk/src/VBox/Installer/linux/debian
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/linux/debian/postinst.in

    r37087 r37088  
    1717#  abort-remove:      (our version): removing this package failed
    1818#  abort-deconfigure: (our version): error during resolving conflicts
     19
     20#include installer-utils.sh
    1921
    2022LOG="/var/log/vbox-install.log"
     
    4143
    4244  # install udev rule (disable with INSTALL_NO_UDEV=1 in /etc/default/virtualbox)
    43   if [ -d /etc/udev/rules.d -a "$INSTALL_NO_UDEV" != "1" ]; then
    44     udev_call=""
    45     udev_app=`which udevadm 2> /dev/null`
    46     if [ $? -eq 0 ]; then
    47       udev_call="${udev_app} version 2> /dev/null"
    48     else
    49       udev_app=`which udevinfo 2> /dev/null`
    50       if [ $? -eq 0 ]; then
    51         udev_call="${udev_app} -V 2> /dev/null"
    52       fi
    53     fi
    54     udev_fix="="
    55     if [ "${udev_call}" != "" ]; then
    56       udev_out=`${udev_call}`
    57       udev_ver=`expr "$udev_out" : '[^0-9]*\([0-9]*\)'`
    58       if [ "$udev_ver" = "" -o "$udev_ver" -lt 55 ]; then
    59         udev_fix=""
    60       fi
    61     fi
    62     echo "KERNEL=${udev_fix}\"vboxdrv\", NAME=\"vboxdrv\", OWNER=\"root\", GROUP=\"root\", MODE=\"0600\"" \
    63       > /etc/udev/rules.d/10-vboxdrv.rules
    64     if [ "$INSTALL_NO_GROUP" != "1" ]; then
    65         usb_group=vboxusers
    66     else
    67         usb_group=root
    68     fi
    69     usb_createnode="/usr/share/virtualbox/VBoxCreateUSBNode.sh"
    70     echo "SUBSYSTEM=${udev_fix}\"usb_device\", ACTION=${udev_fix}\"add\", RUN=\"${usb_createnode} \$major \$minor \$attr{bDeviceClass} ${usb_group}\"" \
    71         >> /etc/udev/rules.d/10-vboxdrv.rules
    72     echo "SUBSYSTEM=${udev_fix}\"usb\", ACTION=${udev_fix}\"add\", ENV{DEVTYPE}==\"usb_device\", RUN=\"${usb_createnode} \$major \$minor \$attr{bDeviceClass} ${usb_group}\"" \
    73         >> /etc/udev/rules.d/10-vboxdrv.rules
    74     echo "SUBSYSTEM=${udev_fix}\"usb_device\", ACTION=${udev_fix}\"remove\", RUN=\"${usb_createnode} --remove \$major \$minor\"" \
    75         >> /etc/udev/rules.d/10-vboxdrv.rules
    76     echo "SUBSYSTEM=${udev_fix}\"usb\", ACTION=${udev_fix}\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN=\"${usb_createnode} --remove \$major \$minor\"" \
    77         >> /etc/udev/rules.d/10-vboxdrv.rules
     45  if [ "$INSTALL_NO_GROUP" != "1" ]; then
     46      usb_group=vboxusers
     47  else
     48      usb_group=root
    7849  fi
    79   # Remove old udev description file
    80   if [ -f /etc/udev/rules.d/60-vboxdrv.rules ]; then
    81       rm -f /etc/udev/rules.d/60-vboxdrv.rules 2> /dev/null
    82   fi
     50  install_udev_package ${usb_group} > /etc/udev/rules.d/10-vboxdrv.rules
    8351  # Build our device tree
    8452  for i in /sys/bus/usb/devices/*; do
  • trunk/src/VBox/Installer/linux/debian/rules

    r36895 r37088  
    340340        cat debian/preinst.in | sed -e 's|%VER%|$(ver)|g' > debian/preinst
    341341        cat debian/prerm.in | sed -e 's|%VER%|$(ver)|g' > debian/prerm
    342         cat debian/postinst.in | sed -e 's|%VER%|$(ver)|g' > debian/postinst
     342        cat debian/postinst.in | \
     343            sed -e 's|%VER%|$(ver)|g' \
     344            -e '/#include installer-utils.sh/ {' \
     345            -e "r $(vboxroot)/src/VBox/Installer/linux/installer-utils.sh" \
     346            -e 'd' \
     347            -e '}' \
     348            > debian/postinst
    343349        dh_installdebconf
    344350        dh_installchangelogs
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