Package: xserver-xorg Version: 6.8.2.dfsg.1-7 Severity: important Tags: patch
When trying to do to 'dpkg-reconfigure xserver-xorg' during the boot of an LTSP thin client, the postinst fail because it tries to update the /etc/X11/X symlink even though it already is pointing to the right location. This is the error message: ln: creating symbolic link '/etc/X11/X.dpkg-new' to '/usr/bin/X11/Xorg': Premission denied This patch get rid of the problem, by checking the symlink content first, and only try to update if it is pointing in the wrong direction. --- /opt/ltsp/i386-etch/var/lib/dpkg/info/xserver-xorg.postinst 2005-11-01 09:33:19.355288283 +0100 +++ /tmp/xserver-xorg.postinst 2005-11-01 09:32:13.891662641 +0100 @@ -1594,7 +1594,8 @@ db_get shared/default-x-server if [ -n "$RET" ]; then SELECTED_PACKAGE="$RET" - if [ "$SELECTED_PACKAGE" = "$THIS_PACKAGE" ]; then + if [ "$SELECTED_PACKAGE" = "$THIS_PACKAGE" ] && [ -L "$SERVER_SYMLINK" ] && + [ "$(readlink "$SERVER_SYMLINK")" != "$THIS_SERVER" ]; then # prepare a new version of the config file; this is a symlink so we # can't use the tempfile command for it (we'd have to subsequently # use ln -sf, which is subject to race condition attacks) It might be an idea to use the make_symlink_sane() function instead. The comments in this part of the code seem out of date, sa the symlink updates the X binary pointer, not the config file. When this issue is fixed, the postints fail while trying to make a backup copy of the configuration file. This patch get rid of that problem, but I am not sure if it is the best fix. Perhaps the script should check if /etc/X11/ is writable before trying to make a backup copy? Or perhaps make a backup copy in /var/log/ instead? --- /opt/ltsp/i386-etch/var/lib/dpkg/info/xserver-xorg.postinst 2005-11-01 09:33:19.355288283 +0100 +++ /tmp/xserver-xorg.postinst 2005-11-01 09:32:13.891662641 +0100 @@ -1642,7 +1643,7 @@ bomb "backup xorg.conf file $BACKUP_XORGCONFIG already" \ "exists; please remove it and try again" fi - cp "$XORGCONFIG" "$BACKUP_XORGCONFIG" + cp "$XORGCONFIG" "$BACKUP_XORGCONFIG" || true warn "overwriting possibly-customised configuration file; backup" \ "in $BACKUP_XORGCONFIG" fi And finally, the dexconf run fail because it can't write to /etc/X11/xorg.conf.dpkg-new. Not sure how to handle that gracefully. Getting X auto-configuration working in LTSP seem a lot harder then I expected. :( -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]