Bug#443004: dexconf: error: cannot generate configuration file; shared/default-x-server not set
Hello,
Basically of what I have seen in the postinst script there are two
problems: 1) the shared/default-x-server is never set 2) if discover
is installed or not xserver-xorg/config/device/driver isn't set either.
Both values are mandatory for the dexconf script to work.
I have added an auto_answer for the shared/default-x-server in the
condition that says “$OWNERS has only one value; shared/default-x-server
will not be asked”, with a fallback that askes for the input.
Next I trampled over another bug concerning the device driver. I did
the same stuff as for the default-x-server. I also added a default
fallback driver to “vesa” in case discover isn't installed.
The patch is not perfect, but it Just works<TM> :p
Best Regards,
Mike
diff --git a/debian/xserver-xorg.postinst.in b/debian/xserver-xorg.postinst.in
index 887f76c..b86f34b 100644
--- a/debian/xserver-xorg.postinst.in
+++ b/debian/xserver-xorg.postinst.in
@@ -711,6 +711,10 @@ fi
if ! expr "$OWNERS" : ".*,.*" > /dev/null 2>&1; then
debug_echo "\$OWNERS has only one value; shared/default-x-server will not be asked"
+ auto_answer db_input "$(priority_ceil low)" shared/default-x-server "$OWNERS"
+else
+ db_input low shared/default-x-server || debug_echo "db_input low shared/default-x-server"
+ db_go
fi
# collect information about installed video card(s), if possible
@@ -832,11 +836,21 @@ if [ -n "$FIRSTINST" ] || [ -n "$RECONFIGURE" ]; then
fi
else
observe "could not autodetect X server driver: $DISCOVER_PROG not found"
+ DRIVER_LIST="vesa"
fi
db_subst xserver-xorg/config/device/driver choices "$DRIVER_LIST"
- auto_answer db_input "$PRIORITY" \
- xserver-xorg/config/device/driver "$DEFAULT_DRIVER"
+ db_subst xserver-xorg/config/device/driver default "$DEFAULT_DRIVER"
+
+ if ! expr "$DRIVER_LIST" : ".*,.*" > /dev/null 2>&1; then
+ debug_echo "\$DRIVER_LIST has only one value; xserver-xorg/config/device/driver will not be asked"
+ auto_answer db_input "$(priority_ceil low)" xserver-xorg/config/device/driver "$DRIVER_LIST"
+ # FIXME Should also avoid the question for the identifier somehow
+ else
+ db_input low xserver-xorg/config/device/driver || debug_echo "db_input low xserver-xorg/config/device/driver"
+ db_go
+ # FIXME The default selected value is just not selected :(
+ fi
# card identifier; try to set a sensible default
DEFAULT=
Reply to: