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

[SRM] Approval for xorg-server/2:1.7.7-13



Hi,

please consider approving xorg-server/2:1.7.7-13 for squeeze. For the
record, I pushed 2:1.7.7-12 to unstable during the end of the freeze
to get it a bit more exposure, it had the following changes:
| xorg-server (2:1.7.7-12) unstable; urgency=low
| 
|   * Cherry-pick this to fix crashes with MCE remotes (Closes: #609750):
|     - mi: handle DGA subtypes when determining the master device.
|   * Add 22-stop-searching-for-xf86config-files, cherry-picking the
|     upstream commit below (which we can't do directly since it depends on
|     a patch kept in the quilt series: 08-config-xorg-conf-d.diff), so that
|     XF86Config-4 is no longer considered (Closes: #610453). Thanks,
|     Bernhard R. Link!
|     - Stop searching for XF86Config files
|   * Improve bug script:
|     - Stop reporting about roster and checksum for config file and server
|       symlink, they are no longer used.
|     - Replace printf with echo everywhere, it's slightly more readable and
|       all lines are newline-terminated anyway.
|     - Also use a “pecho” (pretty echo) function to underline some strings,
|       making the output slightly more readable.
|     - Fix listing xorg.conf.d's contents. Previously, that was only done
|       if xorg.conf existed.
|     - Check for local libraries by running ldd on the server.
|     - Check for obsolete libraries in the same way (/usr/X11R6/lib might
|       still exist in some cases, and be referenced in /etc/ld.so.conf, so
|       using ldd is sufficient to find out, see #546836 for an example).
| 
|  -- Cyril Brulebois <kibi@debian.org>  Sat, 29 Jan 2011 14:29:50 +0100

The new changes are just RandR unbreakage for Nvidia, and tiny bug
script improvements:
| xorg-server (2:1.7.7-13) stable; urgency=low
| 
|   * bug script: Report KMS configuration files and their contents.
|   * bug script: Keep only one lspci call (with proper filtering), which
|     makes PCI IDs come back.
|   * Merge from server-1.7-branch, fixing broken rotation with nvidia
|     driver (Closes: #611619):
|     - Revert "randr: check for virtual size limits before set crtc"
|   * bug script: Report libGL-related diversions.
| 
|  -- Cyril Brulebois <kibi@debian.org>  Fri, 18 Feb 2011 14:21:12 +0100

I'm attaching the source debdiff for the -13 upload (first patch), as
well as the full source debdiff from squeeze's -11 (second patch).

With xorg-server 2:1.9.x in sid, there should be no issues WRT version
number contraints (provided ia64 and mips get signed before the point
release IIUIC).

KiBi.
reverted:
--- xorg-server-1.7.7/randr/rrscreen.c
+++ xorg-server-1.7.7.orig/randr/rrscreen.c
@@ -921,18 +921,6 @@
 	width = mode->mode.height;
 	height = mode->mode.width;
     }
-
-    if (width < pScrPriv->minWidth || pScrPriv->maxWidth < width) {
-	client->errorValue = width;
-	free(pData);
-	return BadValue;
-    }
-    if (height < pScrPriv->minHeight || pScrPriv->maxHeight < height) {
-	client->errorValue = height;
-	free(pData);
-	return BadValue;
-    }
-
     if (width != pScreen->width || height != pScreen->height)
     {
 	int	c;
diff -u xorg-server-1.7.7/debian/xserver-xorg-core.bug.script xorg-server-1.7.7/debian/xserver-xorg-core.bug.script
--- xorg-server-1.7.7/debian/xserver-xorg-core.bug.script
+++ xorg-server-1.7.7/debian/xserver-xorg-core.bug.script
@@ -48,10 +48,15 @@
    echo
 fi
 
+if dpkg-divert --list | grep -qs -i libgl; then
+    pecho "Diversions concerning libGL are in place"
+    dpkg-divert --list | grep -i libgl
+    echo
+fi
+
 if which lspci > /dev/null 2>&1; then
     pecho "VGA-compatible devices on PCI bus:"
-    LC_ALL=C lspci | grep 'VGA compatible controller:'
-    LC_ALL=C lspci -n | grep 'Class 0300:'
+    LC_ALL=C lspci -nn | grep 'VGA compatible controller'
 else
     echo "The lspci command was not found; not including PCI data."
 fi
@@ -78,6 +83,22 @@
 fi
 
 echo
+
+KMS_CONFS_DIR=/etc/modprobe.d
+KMS_CONFS=$(ls $KMS_CONFS_DIR/*-kms.conf 2>/dev/null)
+
+if [ -n "$KMS_CONFS" ]; then
+    pecho "KMS configuration files:"
+    for CONF in $KMS_CONFS; do
+      echo "$CONF:"
+      # Indent, and get rid of empty lines:
+      sed 's/^/  /' < "$CONF"|egrep -v '^\s*$'
+    done
+else
+    echo "$KMS_CONFS_DIR contains no KMS configuration files."
+fi
+
+echo
 
 KERNEL_VERSION=/proc/version
 
diff -u xorg-server-1.7.7/debian/changelog xorg-server-1.7.7/debian/changelog
--- xorg-server-1.7.7/debian/changelog
+++ xorg-server-1.7.7/debian/changelog
@@ -1,3 +1,15 @@
+xorg-server (2:1.7.7-13) stable; urgency=low
+
+  * bug script: Report KMS configuration files and their contents.
+  * bug script: Keep only one lspci call (with proper filtering), which
+    makes PCI IDs come back.
+  * Merge from server-1.7-branch, fixing broken rotation with nvidia
+    driver (Closes: #611619):
+    - Revert "randr: check for virtual size limits before set crtc"
+  * bug script: Report libGL-related diversions.
+
+ -- Cyril Brulebois <kibi@debian.org>  Fri, 18 Feb 2011 14:21:12 +0100
+
 xorg-server (2:1.7.7-12) unstable; urgency=low
 
   * Cherry-pick this to fix crashes with MCE remotes (Closes: #609750):
reverted:
--- xorg-server-1.7.7/randr/rrscreen.c
+++ xorg-server-1.7.7.orig/randr/rrscreen.c
@@ -921,18 +921,6 @@
 	width = mode->mode.height;
 	height = mode->mode.width;
     }
-
-    if (width < pScrPriv->minWidth || pScrPriv->maxWidth < width) {
-	client->errorValue = width;
-	free(pData);
-	return BadValue;
-    }
-    if (height < pScrPriv->minHeight || pScrPriv->maxHeight < height) {
-	client->errorValue = height;
-	free(pData);
-	return BadValue;
-    }
-
     if (width != pScreen->width || height != pScreen->height)
     {
 	int	c;
diff -u xorg-server-1.7.7/debian/xserver-xorg-core.bug.script xorg-server-1.7.7/debian/xserver-xorg-core.bug.script
--- xorg-server-1.7.7/debian/xserver-xorg-core.bug.script
+++ xorg-server-1.7.7/debian/xserver-xorg-core.bug.script
@@ -2,148 +2,145 @@
 
-# $Id$
-
 PATH="/sbin:$PATH"
 CONFIG_DIR=/etc/X11
+SERVER_BINARY=/usr/bin/Xorg
 SERVER_SYMLINK="$CONFIG_DIR/X"
 XORGCONFIG="$CONFIG_DIR/xorg.conf"
 XORGCONFIG_DIR="$CONFIG_DIR/xorg.conf.d"
 CONFIG_AUX_DIR=/var/lib/x11
-SERVER_SYMLINK_CHECKSUM="$CONFIG_AUX_DIR/${SERVER_SYMLINK##*/}.md5sum"
-SERVER_SYMLINK_ROSTER="$CONFIG_AUX_DIR/${SERVER_SYMLINK##*/}.roster"
-XORGCONFIG_CHECKSUM="$CONFIG_AUX_DIR/${XORGCONFIG##*/}.md5sum"
-XORGCONFIG_ROSTER="$CONFIG_AUX_DIR/${XORGCONFIG##*/}.roster"
-
-exec >&3
+X11R6_LIBS=/usr/X11R6/lib
+LOCAL_LIBS=/usr/local/lib
 
-if [ -e "$SERVER_SYMLINK_ROSTER" ]; then
-    printf "Contents of $SERVER_SYMLINK_ROSTER:\n"
-    cat "$SERVER_SYMLINK_ROSTER"
-else
-    printf "$SERVER_SYMLINK_ROSTER does not exist.\n"
-fi
+# Pretty echo, underline the specified string:
+pecho() {
+    echo "$@"
+    echo "$@"|sed 's/./-/g'
+}
 
-printf "\n"
+exec >&3
 
 if [ -e "$SERVER_SYMLINK" ]; then
-    if [ -e "$SERVER_SYMLINK_CHECKSUM" ]; then
-        if [ "$(readlink "$SERVER_SYMLINK" | md5sum)" = \
-             "$(cat "$SERVER_SYMLINK_CHECKSUM")" ]; then
-            printf "%s target unchanged from checksum in %s.\n" \
-              "$SERVER_SYMLINK" "$SERVER_SYMLINK_CHECKSUM"
-        else
-            printf "%s target does not match checksum in %s.\n" \
-              "$SERVER_SYMLINK" "$SERVER_SYMLINK_CHECKSUM"
-        fi
-    else
-        printf "$SERVER_SYMLINK_CHECKSUM does not exist.\n"
-    fi
-    printf "\n"
-    printf "X server symlink status:\n"
+    pecho "X server symlink status:"
     ls -dl "$SERVER_SYMLINK"
     ls -dl "$(readlink "$SERVER_SYMLINK")"
 else
-    printf "$SERVER_SYMLINK does not exist.\n"
+    echo "$SERVER_SYMLINK does not exist."
 fi
 
 if ! [ -L "$SERVER_SYMLINK" ]; then
-    printf "$SERVER_SYMLINK is not a symlink.\n"
+    echo "$SERVER_SYMLINK is not a symlink."
 fi
 
 if ! [ -x "$SERVER_SYMLINK" ]; then
-    printf "$SERVER_SYMLINK is not executable.\n"
+    echo "$SERVER_SYMLINK is not executable."
 fi
 
-printf "\n"
+echo
 
-if [ -e "$XORGCONFIG_ROSTER" ]; then
-    printf "Contents of $XORGCONFIG_ROSTER:\n"
-    cat "$XORGCONFIG_ROSTER"
-else
-    printf "$XORGCONFIG_ROSTER does not exist.\n"
+if ldd "$SERVER_BINARY" | grep -qs "$LOCAL_LIBS"; then
+   pecho "The server is using local libraries!"
+   ldd "$SERVER_BINARY" | grep "$LOCAL_LIBS"
+   echo
+fi
+
+if ldd "$SERVER_BINARY" | grep -qs "$X11R6_LIBS"; then
+   pecho "The server is using obsolete libraries!"
+   ldd "$SERVER_BINARY" | grep "$X11R6_LIBS"
+   echo
 fi
 
-printf "\n"
+if dpkg-divert --list | grep -qs -i libgl; then
+    pecho "Diversions concerning libGL are in place"
+    dpkg-divert --list | grep -i libgl
+    echo
+fi
 
 if which lspci > /dev/null 2>&1; then
-    printf "VGA-compatible devices on PCI bus:\n"
-    LC_ALL=C lspci | grep 'VGA compatible controller:'
-    LC_ALL=C lspci -n | grep 'Class 0300:'
+    pecho "VGA-compatible devices on PCI bus:"
+    LC_ALL=C lspci -nn | grep 'VGA compatible controller'
 else
-    printf "The lspci command was not found; not including PCI data.\n"
+    echo "The lspci command was not found; not including PCI data."
 fi
 
-printf "\n"
+echo
 
 if [ -e "$XORGCONFIG" ]; then
-    if [ -e "$XORGCONFIG_CHECKSUM" ]; then
-        if [ "$(md5sum "$XORGCONFIG")" = "$(cat "$XORGCONFIG_CHECKSUM")" ]; then
-            printf "%s unchanged from checksum in %s.\n" "$XORGCONFIG" \
-              "$XORGCONFIG_CHECKSUM"
-        else
-            printf "%s does not match checksum in %s.\n" "$XORGCONFIG" \
-              "$XORGCONFIG_CHECKSUM"
-        fi
-    else
-        printf "$XORGCONFIG_CHECKSUM does not exist.\n"
-    fi
-    printf "\n"
-    printf "Xorg X server configuration file status:\n"
+    pecho "Xorg X server configuration file status:"
     ls -dl "$XORGCONFIG"
-    printf "\n"
-    printf "Contents of $XORGCONFIG:\n"
+    echo
+    pecho "Contents of $XORGCONFIG:"
     iconv -c -t ascii "$XORGCONFIG"
-    printf "\n"
-    if [ -d "$XORGCONFIG_DIR" ]; then
-        printf "Contents of $XORGCONFIG_DIR:\n"
-        ls -l "$XORGCONFIG_DIR"
-        printf "\n"
-    fi
 else
-    printf "$XORGCONFIG does not exist.\n"
+    echo "$XORGCONFIG does not exist."
 fi
 
-printf "\n"
+echo
+
+if [ -d "$XORGCONFIG_DIR" ]; then
+    pecho "Contents of $XORGCONFIG_DIR:"
+    ls -l "$XORGCONFIG_DIR"
+else
+    echo "$XORGCONFIG_DIR does not exist."
+fi
+
+echo
+
+KMS_CONFS_DIR=/etc/modprobe.d
+KMS_CONFS=$(ls $KMS_CONFS_DIR/*-kms.conf 2>/dev/null)
+
+if [ -n "$KMS_CONFS" ]; then
+    pecho "KMS configuration files:"
+    for CONF in $KMS_CONFS; do
+      echo "$CONF:"
+      # Indent, and get rid of empty lines:
+      sed 's/^/  /' < "$CONF"|egrep -v '^\s*$'
+    done
+else
+    echo "$KMS_CONFS_DIR contains no KMS configuration files."
+fi
+
+echo
 
 KERNEL_VERSION=/proc/version
 
 if [ -e "$KERNEL_VERSION" ]; then
-    printf "Kernel version ($KERNEL_VERSION):\n"
+    pecho "Kernel version ($KERNEL_VERSION):"
     cat /proc/version
 else
-    printf "No kernel version found (missing $KERNEL_VERSION).\n"
+    echo "No kernel version found (missing $KERNEL_VERSION)."
 fi
 
-printf "\n"
+echo
 
 XORG_LOGS=$(ls -dt /var/log/Xorg.*.log 2>/dev/null)
 
 if [ -n "$XORG_LOGS" ]; then
-    printf "Xorg X server log files on system:\n"
+    pecho "Xorg X server log files on system:"
     ls -dlrt /var/log/Xorg.*.log 2>/dev/null
-    printf "\n"
+    echo
     for LOG in $XORG_LOGS; do
         if [ -f "$LOG" ]; then
-            printf "Contents of most recent Xorg X server log file\n"
-            printf "%s:\n" "$LOG"
+            pecho "Contents of most recent Xorg X server log file ($LOG):"
             cat "$LOG"
             # the log files are large; only show the most recent
             break
         fi
     done
 else
-    printf "No Xorg X server log files found.\n"
+    echo "No Xorg X server log files found."
 fi
 
+echo
+
 if [ -x /sbin/udevadm ]; then
-    printf "\nudev information:\n"
+    pecho "udev information:"
     /sbin/udevadm info --export-db | awk -F '\n' -v RS='\n\n' '/E: ID_INPUT/ { print; print "" }'
+    echo
 fi
 
 if [ -x /bin/dmesg ]; then
-    printf "DRM Information from dmesg:\n"
+    pecho "DRM Information from dmesg:"
     dmesg | egrep -i 'drm|agp'
+    echo
 fi
 
-printf "\n"
-
 # vim:set ai et sts=4 sw=4 tw=0:
diff -u xorg-server-1.7.7/debian/changelog xorg-server-1.7.7/debian/changelog
--- xorg-server-1.7.7/debian/changelog
+++ xorg-server-1.7.7/debian/changelog
@@ -1,3 +1,41 @@
+xorg-server (2:1.7.7-13) stable; urgency=low
+
+  * bug script: Report KMS configuration files and their contents.
+  * bug script: Keep only one lspci call (with proper filtering), which
+    makes PCI IDs come back.
+  * Merge from server-1.7-branch, fixing broken rotation with nvidia
+    driver (Closes: #611619):
+    - Revert "randr: check for virtual size limits before set crtc"
+  * bug script: Report libGL-related diversions.
+
+ -- Cyril Brulebois <kibi@debian.org>  Fri, 18 Feb 2011 14:21:12 +0100
+
+xorg-server (2:1.7.7-12) unstable; urgency=low
+
+  * Cherry-pick this to fix crashes with MCE remotes (Closes: #609750):
+    - mi: handle DGA subtypes when determining the master device.
+  * Add 22-stop-searching-for-xf86config-files, cherry-picking the
+    upstream commit below (which we can't do directly since it depends on
+    a patch kept in the quilt series: 08-config-xorg-conf-d.diff), so that
+    XF86Config-4 is no longer considered (Closes: #610453). Thanks,
+    Bernhard R. Link!
+    - Stop searching for XF86Config files
+  * Improve bug script:
+    - Stop reporting about roster and checksum for config file and server
+      symlink, they are no longer used.
+    - Replace printf with echo everywhere, it's slightly more readable and
+      all lines are newline-terminated anyway.
+    - Also use a “pecho” (pretty echo) function to underline some strings,
+      making the output slightly more readable.
+    - Fix listing xorg.conf.d's contents. Previously, that was only done
+      if xorg.conf existed.
+    - Check for local libraries by running ldd on the server.
+    - Check for obsolete libraries in the same way (/usr/X11R6/lib might
+      still exist in some cases, and be referenced in /etc/ld.so.conf, so
+      using ldd is sufficient to find out, see #546836 for an example).
+
+ -- Cyril Brulebois <kibi@debian.org>  Sat, 29 Jan 2011 14:29:50 +0100
+
 xorg-server (2:1.7.7-11) unstable; urgency=low
 
   * Merge server-1.7-branch from upstream:
diff -u xorg-server-1.7.7/debian/patches/series xorg-server-1.7.7/debian/patches/series
--- xorg-server-1.7.7/debian/patches/series
+++ xorg-server-1.7.7/debian/patches/series
@@ -22,0 +23 @@
+22-stop-searching-for-xf86config-files
only in patch2:
unchanged:
--- xorg-server-1.7.7.orig/debian/patches/22-stop-searching-for-xf86config-files
+++ xorg-server-1.7.7/debian/patches/22-stop-searching-for-xf86config-files
@@ -0,0 +1,37 @@
+Stop searching for XF86Config files
+
+xorg.conf has been used since the X11R6.7 release in April 2004.
+6 years has been a generous transition period for users to
+"mv XF86Config xorg.conf" and for distros to update their
+configuration tools and packages.
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Reviewed-by: James Cloos <cloos@jhcloos.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+(cherry picked from commit d163266692235261e1e0cfa6b900f54e6ec63de5)
+
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+--- a/hw/xfree86/parser/scan.c
++++ b/hw/xfree86/parser/scan.c
+@@ -626,7 +626,6 @@ xf86pathIsSafe(const char *path)
+ #ifndef XCONFENV
+ #define XCONFENV	"XORGCONFIG"
+ #endif
+-#define XFREE86CFGFILE "XF86Config"
+ #ifndef XF86_VERSION_MAJOR
+ #ifdef XVERSION
+ #if XVERSION > 40000000
+@@ -994,11 +993,8 @@ xf86openConfigFile(const char *path, const char *cmdline, const char *projroot)
+ 	if (!projroot || !projroot[0])
+ 		projroot = PROJECTROOT;
+ 
+-	/* Search for a config file or a fallback */
++	/* Search for a config file */
+ 	configPath = OpenConfigFile(path, cmdline, projroot, XCONFIGFILE);
+-	if (!configPath)
+-		configPath = OpenConfigFile(path, cmdline, projroot,
+-					    XFREE86CFGFILE);
+ 	return configPath;
+ }
+ 
only in patch2:
unchanged:
--- xorg-server-1.7.7.orig/mi/mieq.c
+++ xorg-server-1.7.7/mi/mieq.c
@@ -320,6 +320,7 @@
 {
     DeviceIntPtr mdev;
     int len = original->any.length;
+    int type = original->any.type;
 
     CHECKEVENT(original);
 
@@ -327,7 +328,12 @@
     if (!sdev || !sdev->u.master)
         return NULL;
 
-    switch(original->any.type)
+#if XFreeXDGA
+    if (type == ET_DGAEvent)
+        type = original->dga_event.subtype;
+#endif
+
+    switch(type)
     {
         case ET_KeyPress:
         case ET_KeyRelease:

Attachment: signature.asc
Description: Digital signature


Reply to: