tag 130191 + moreinfo thanks This debconf question has come a ways since I first created it.
Is the current template description and logic satisfactory?: Template: xserver-xfree86/config/device/bus_id Type: string _Description: Please enter the video card's bus identifier. Users of PowerPC machines, and users of any computer with multiple video devices, should specify the BusID of the video card in the format: . PCI:nn:nn:nn . (where each nn is a decimal number referring to the card's bus, device, and function number, respectively). . For users of multi-head setups, this option will configure only one of the heads. Further configuration will have to be done manually in the X server configuration file, /etc/X11/XF86Config-4. . You may wish to use the "lspci" command to determine the bus location of your PCI or AGP video card. Keep in mind that lspci reports the bus, device, and function numbers in hexadecimal, not decimal. . When possible, this question has been pre-answered for you and you should accept the default unless you know it doesn't work. . Users of non-PowerPC machines with only one video card should leave this entry blank. # BusID PRIORITY=low DEFAULT= if [ "$ARCH" = "powerpc" -o "$MULTIHEAD" = "yes" ]; then if [ "$ARCH" = "powerpc" ]; then PRIORITY=medium fi if [ "$MULTIHEAD" = "yes" ]; then PRIORITY=high fi if which lspci > /dev/null 2>&1; then # try to guess the correct BusID VIDEO_CARD=$(LC_ALL=C lspci -n | grep "Class 0300:" | head -n 1 | cut -d\ -f1) if [ -n "$VIDEO_CARD" ]; then # we now have an entry in "hex:hex.hex" format, need "PCI:decimal:decimal:decimal" BUS=$(printf "%d" 0x$(echo $VIDEO_CARD | cut -d: -f1) ) DEVICE=$(printf "%d" 0x$(echo $VIDEO_CARD | cut -d: -f2 | cut -d. -f1) ) FUNCTION=$(printf "%d" 0x$(echo $VIDEO_CARD | cut -d. -f2) ) DEFAULT=PCI:$BUS:$DEVICE:$FUNCTION fi fi fi # this question requires input validation if [ -n "$DEFAULT" ]; then auto_answer validate_bus_id_db_input "$(priority_ceil $PRIORITY)" xserver-xfree86/config/device/bus_id "$DEFAULT" else validate_bus_id_db_input "$(priority_ceil $PRIORITY)" xserver-xfree86/config/device/bus_id || debug_report_status "validate_bus_id_db_input $(priority_ceil $PRIORITY) xserver-xfree86/config/device/bus_id" "$?" fi validate_bus_id_db_input () { # Syntax: validate_bus_id_db_input priority template # # validate BusID input if [ $# -ne 2 ]; then echo "internal error: validate_bus_id_db_input() called with wrong number of arguments: $*" >&2 exit 1 fi PRIORITY=$1 TEMPLATE=$2 db_get "$TEMPLATE" SAFE="$RET" set +e while :; do db_input "$PRIORITY" "$TEMPLATE" # is the question going to be asked? if [ $? -eq 30 ]; then break # no; bail out of validation loop fi db_go db_get "$TEMPLATE" if [ -z "$RET" ] || expr "$RET" : "[A-Z]\+:[0-9]\{1,3\}:[0-9]\{1,3\}:[0-9]\{1,3\}$" > /dev/null 2>&1; then break # valid input fi # we only get to this point if the input was invalid; restore the known good # value in case we are interrupted before the user provides a valid one db_set "$TEMPLATE" "$SAFE" db_fset "$TEMPLATE" seen false # now show the user the error message db_fset xserver-xfree86/config/device/bus_id_error seen false db_input critical xserver-xfree86/config/device/bus_id_error db_go done set -e } -- G. Branden Robinson | Humor is a rubber sword - it allows Debian GNU/Linux | you to make a point without drawing [EMAIL PROTECTED] | blood. http://people.debian.org/~branden/ | -- Mary Hirsch
signature.asc
Description: Digital signature