Package: xserver-xorg Version: 6.8.2.dfsg.1-7+kbsd Severity: normal Tags: patch
When configuring this package, if you reply to the resolution list template (xserver-xorg/config/display/modes) with an empty list, this will make postinst fail with: expr: syntax error This is contrary to the description, which says an empty list is equivalent to a full one (in that the server will find the highest resolution that works). Attached patch solves the problem. I noticed the "yes it sucks" comment, so instead of making it worse by adding another hardcoded list, I fixed it for the default list to be automaticaly added by debian/rules. -- System Information: Debian Release: testing/unstable Architecture: kfreebsd-i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: GNU/kFreeBSD 5.4-1-686 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C) Versions of packages xserver-xorg depends on: ii debconf [debconf-2.0 1.4.58 Debian configuration management sy ii libc0.1 2.3-1+kbsd.11 GNU C Library: Shared libraries an ii libgcc1 1:4.0.1-9 GCC support library ii libxau6 6.8.2.dfsg.1-7 X Authentication library ii libxdmcp6 6.8.2.dfsg.1-7 X Display Manager Control Protocol ii xserver-common 6.8.2.dfsg.1-7+kbsd files and utilities common to all ii zlib1g 1:1.2.3-4 compression library - runtime Versions of packages xserver-xorg recommends: pn discover1 <none> (no description available) pn laptop-detect <none> (no description available) pn mdetect <none> (no description available) ii xlibs 6.8.2.dfsg.1-7 X Window System client libraries m pn xresprobe <none> (no description available) -- debconf information excluded
diff -ur xorg-x11-6.8.2.dfsg.1/debian.old/rules xorg-x11-6.8.2.dfsg.1/debian/rules --- xorg-x11-6.8.2.dfsg.1/debian.old/rules 2005-09-26 20:42:15.000000000 +0200 +++ xorg-x11-6.8.2.dfsg.1/debian/rules 2005-09-26 20:52:59.000000000 +0200 @@ -76,6 +76,8 @@ SERVER_WRAPPER_OPT=-O2 endif +DEFAULT_DCRESOLUTIONS="1920x1440, 1920x1200, 1856x1392, 1792x1344, 1680x1050, 1600x1200, 1440x900, 1400x1050, 1280x1024, 1280x960, 1280x854, 1280x800, 1280x768, 1200x800, 1152x864, 1152x768, 1024x768, 800x600, 640x480" + # Set up parameters for the Debian build environment. # Determine our architecture. @@ -288,6 +290,7 @@ | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \ sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \ -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \ + -e 's/@DEFAULT_DCRESOLUTIONS@/$(DEFAULT_DCRESOLUTIONS)/' \ <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \ rm $$MAINTSCRIPT.tmp; \ fi; \ diff -ur xorg-x11-6.8.2.dfsg.1/debian.old/xserver-xorg.config.in xorg-x11-6.8.2.dfsg.1/debian/xserver-xorg.config.in --- xorg-x11-6.8.2.dfsg.1/debian.old/xserver-xorg.config.in 2005-09-26 20:42:15.000000000 +0200 +++ xorg-x11-6.8.2.dfsg.1/debian/xserver-xorg.config.in 2005-09-26 20:52:59.000000000 +0200 @@ -486,8 +486,7 @@ if [ "$RET" != "10 xserver-xfree86/config/display/modes doesn't exist" ]; then db_subst xserver-xorg/config/display/modes choices "$RET" else - # remember to keep this list in sync with postinst.in. Yes, it sucks! - db_subst xserver-xorg/config/display/modes choices "1920x1440, 1920x1200, 1856x1392, 1792x1344, 1680x1050, 1600x1200, 1440x900, 1400x1050, 1280x1024, 1280x960, 1280x854, 1280x800, 1280x768, 1200x800, 1152x864, 1152x768, 1024x768, 800x600, 640x480" + db_subst xserver-xorg/config/display/modes choices @DEFAULT_DCRESOLUTIONS@ fi # migrate keyboard/rules db_get xserver-xorg/config/inputdevice/keyboard/rules diff -ur xorg-x11-6.8.2.dfsg.1/debian.old/xserver-xorg.postinst.in xorg-x11-6.8.2.dfsg.1/debian/xserver-xorg.postinst.in --- xorg-x11-6.8.2.dfsg.1/debian.old/xserver-xorg.postinst.in 2005-09-26 20:42:15.000000000 +0200 +++ xorg-x11-6.8.2.dfsg.1/debian/xserver-xorg.postinst.in 2005-09-26 20:52:59.000000000 +0200 @@ -392,7 +392,7 @@ DCRESOLUTIONS="$RET" DCRESOLUTIONS=$(echo $DCRESOLUTIONS | sed -e 's/, / /g') else - DCRESOLUTIONS="1920x1440 1920x1200 1856x1392 1792x1344 1680x1050 1600x1200 1440x900 1400x1050 1280x1024 1280x960 1280x854 1280x800 1280x768 1200x800 1152x864 1152x768 1024x768 800x600 640x480" + [EMAIL PROTECTED]@ fi if [ -n "$RESOLUTIONS" ]; then DCRESOLUTIONS=$(for i in $DCRESOLUTIONS $RESOLUTIONS; do echo $i; done | sort -unr) @@ -421,6 +421,9 @@ # if we are here we did not detect the frequencies, but we have the resolution. # get the highest resolution. db_get xserver-xorg/config/display/modes + if [ -z "$RET" ]; then + [EMAIL PROTECTED]@ + fi MAXRES=$(echo $RET | sed -e 's/,//g') MAXRES=$(for i in $MAXRES; do echo $i; done | sort -unr | head -n 1) # set a sane default for mode-list