Bug#469299: xserver-xorg: sparc driver detection puts description in Driver field
Package: xserver-xorg
Version: 1:7.3+10
Severity: normal
Tags: patch
xserver-xorg's postinst script generate xorg.conf with things like:
Section "Device"
Identifier "Configured Video Device"
Driver "Sun Creator3D framebuffer or similar (SUNW,501-3129) XFree86 sunffb"
EndSection
I can fix this by removing the following from xserver-xorg's postinst:
--- xserver-xorg.postinst 2008-03-04 14:38:58.000000000 +0100
+++ xserver-xorg.postinst.patched 2008-03-04 15:17:35.000000000 +0100
@@ -1001,6 +1001,7 @@
NCARDS=0
NSERVERS=0
NDRIVERS=0
+DRIVERS_LIST=
MULTIHEAD=
# get machine architecture
@@ -1425,7 +1426,6 @@
if which $DISCOVER_PROG > /dev/null 2>&1; then
DISCOVERED_VIDEO=$($DISCOVER_FUNC)
MULTIHEAD=$(echo "$DISCOVERED_VIDEO" | wc -l)
- DISCOVERED_VIDEO=$(echo "$DISCOVERED_VIDEO" | head -n 1)
if [ -n "$DISCOVERED_VIDEO" ]; then
NCARDS=$(echo "$DISCOVERED_VIDEO" | wc -l)
SERVERS=$(echo "$DISCOVERED_VIDEO" | awk 'BEGIN { FS="\t" } {print $2}' | grep -v unknown | sort | uniq)
@@ -1435,10 +1435,14 @@
DRIVERS=$(echo "$DISCOVERED_VIDEO" | awk 'BEGIN { FS="\t" } {print $NF}' | grep -v unknown | sort | uniq)
if [ -n "$DRIVERS" ]; then
NDRIVERS=$(echo "$DRIVERS" | wc -l)
+ DRIVERS_LIST=$(echo "$DRIVERS" | awk 'BEGIN {ORS="";FS="\t"} {if(NR > 1){print last ","};last=$0} END {print last}')
fi
if [ $MULTIHEAD -gt 1 ]; then
MULTIHEAD=yes
fi
+ DISCOVERED_VIDEO=$(echo "$DRIVERS" | head -n 1)
+ else
+ DISCOVERED_VIDEO=""
fi
else
DISCOVERED_VIDEO=""
@@ -1446,7 +1450,7 @@
else
DISCOVERED_VIDEO=""
fi
-db_subst xserver-xorg/config/device/driver choices "$DISCOVERED_VIDEO"
+db_subst xserver-xorg/config/device/driver choices "$DRIVERS_LIST"
auto_answer db_input low xserver-xorg/config/device/driver "$DISCOVERED_VIDEO"
if [ -n "$FIRSTINST" ] || [ -n "$RECONFIGURE" ]; then
Hochachtungsvoll,
Bernhard R. Link
--- xserver-xorg.postinst 2008-03-04 14:38:58.000000000 +0100
+++ xserver-xorg.postinst.patched 2008-03-04 15:17:35.000000000 +0100
@@ -1001,6 +1001,7 @@
NCARDS=0
NSERVERS=0
NDRIVERS=0
+DRIVERS_LIST=
MULTIHEAD=
# get machine architecture
@@ -1425,7 +1426,6 @@
if which $DISCOVER_PROG > /dev/null 2>&1; then
DISCOVERED_VIDEO=$($DISCOVER_FUNC)
MULTIHEAD=$(echo "$DISCOVERED_VIDEO" | wc -l)
- DISCOVERED_VIDEO=$(echo "$DISCOVERED_VIDEO" | head -n 1)
if [ -n "$DISCOVERED_VIDEO" ]; then
NCARDS=$(echo "$DISCOVERED_VIDEO" | wc -l)
SERVERS=$(echo "$DISCOVERED_VIDEO" | awk 'BEGIN { FS="\t" } {print $2}' | grep -v unknown | sort | uniq)
@@ -1435,10 +1435,14 @@
DRIVERS=$(echo "$DISCOVERED_VIDEO" | awk 'BEGIN { FS="\t" } {print $NF}' | grep -v unknown | sort | uniq)
if [ -n "$DRIVERS" ]; then
NDRIVERS=$(echo "$DRIVERS" | wc -l)
+ DRIVERS_LIST=$(echo "$DRIVERS" | awk 'BEGIN {ORS="";FS="\t"} {if(NR > 1){print last ","};last=$0} END {print last}')
fi
if [ $MULTIHEAD -gt 1 ]; then
MULTIHEAD=yes
fi
+ DISCOVERED_VIDEO=$(echo "$DRIVERS" | head -n 1)
+ else
+ DISCOVERED_VIDEO=""
fi
else
DISCOVERED_VIDEO=""
@@ -1446,7 +1450,7 @@
else
DISCOVERED_VIDEO=""
fi
-db_subst xserver-xorg/config/device/driver choices "$DISCOVERED_VIDEO"
+db_subst xserver-xorg/config/device/driver choices "$DRIVERS_LIST"
auto_answer db_input low xserver-xorg/config/device/driver "$DISCOVERED_VIDEO"
if [ -n "$FIRSTINST" ] || [ -n "$RECONFIGURE" ]; then
Reply to: