[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: