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

Bug#608628: NMU patch for xresprobe 0.4.23debian1-0.3



Package: xresprobe
Version: 0.4.23debian1

Here is the patch for my NMU of xresprobe.

diff -u xresprobe-0.4.23debian1/debian/changelog xresprobe-0.4.23debian1/debian/changelog
--- xresprobe-0.4.23debian1/debian/changelog
+++ xresprobe-0.4.23debian1/debian/changelog
@@ -1,3 +1,37 @@
+xresprobe (0.4.23debian1-0.3) experimental; urgency=low
+
+  * Non-maintainer upload to clean up the package.
+  * Update debhelper compat level from 4 to 7.
+  * Update standards-version from 3.7.2 to 3.9.1.  No changes needed.
+  * Apply patches from Ubuntu:
+    - Adust lcdsize.sh to add support for vesa.  Add missing getres
+      call.  Patch by Timo Aaltonen.
+    - Adjust xprobe.sh to not use the bare-bones config, instead rely
+      on the new xserver to be clever.  Make sure to only autoprobe
+      if the driver is vesa.  Patch by Timo Aaltonen.
+    - Add support for the Intel driver.  Patch by Matthew Garrett.
+    - Fix xprobe.sh failure when generating xorg.conf caused by
+      missing type1 module; this was dropped by Debian for xserver 1.3
+      since it's obsolete and has some security issues.  (Addresses
+      portion of fix for LP 127008).  Patch from Bryce Harrington.
+    - Fix issue with xresprobe in alternate installation for Intel gfx
+      laptops resulting in screen to be replaced by flashing colored
+      blocks, by making xresprobe use ddcprobe instead of xprobe for
+      laptops using the -intel driver.  (Closes LP: #127008 and many,
+      many duplicates).  Patch from Bryce Harrington.
+    - Fix resolution detection error in ddcprobe.sh where LCD's would
+      get configured to use one resolution less than their maximum
+      because ddcprobe cannot tell the difference between an analog
+      attached LCD and a CRT.  (Closes LP: #27667).  Patch from Bryce
+      Harrington.
+    - Adjust xprobe.sh handling of intel drivers (LP: #127008).  Patch
+      from Bryce Harrington.
+    - Adjust lcdsize.sh to fix vesa sed regex so that resolutions are
+      returned correctly without trailing text.  Patch from Timo
+      Aaltonen.
+
+ -- Petter Reinholdtsen <pere@hungry.com>  Sun, 02 Jan 2011 08:17:43 +0100
+
 xresprobe (0.4.23debian1-0.2) unstable; urgency=low
 
   * Non-maintainer upload to fix RC bug.
diff -u xresprobe-0.4.23debian1/ddcprobe.sh xresprobe-0.4.23debian1/ddcprobe.sh
--- xresprobe-0.4.23debian1/ddcprobe.sh
+++ xresprobe-0.4.23debian1/ddcprobe.sh
@@ -37,37 +37,18 @@
   SCREENTYPE="lcd"
 else
+  # Not necessarily true, as lcds can be connected as analog too
   SCREENTYPE="crt"
 fi
 
 TIMINGS="$(echo "$DDCPROBE" | egrep '^[cd]*timing:' | \
 	 sed -e 's/^[cd]*timing: \([^x]*\)x\([^ @$]*\).*$/\1x\2/;' | \
 	 sort -nr | egrep -v "$BLACKLISTMODES")"
+TIMINGS="$(echo "$TIMINGS" | sort -rnu -tx -k1,1nr -k2,2nr)"
 
-# highest in this case means 'highest resolution', and we want to demote it
-# to the least-preferred resolution; it will usually be completely unviewable
-
-if [ -n "$XRESPROBE_DEBUG" ]; then
-   echo "raw timings - $(echo "$TIMINGS" | xargs echo)" >&2
-fi
-
-NTIMINGS="$(echo "$TIMINGS" | wc -l)"
-HIGHEST="$(echo "$TIMINGS" | head -n 1)"
-OUTTIMINGS="$(echo "$TIMINGS" | tail -n "$(($NTIMINGS-1))")"
 MONITORNAME="$(echo "$DDCPROBE" | egrep '^monitorname:' | sed -e 's/^monitorname: //;')"
 MONITORRANGE="$(echo "$DDCPROBE" | egrep '^monitorrange:' | sed -e 's/^monitorrange: //;' -e 's/\,//;')"
-TIMINGS="$(echo "$TIMINGS" | sort -rnu -tx -k1,1nr -k2,2nr)"
-OUTTIMINGS="$(echo "$OUTTIMINGS" | sort -rnu -tx -k1,1nr -k2,2nr)"
 
-if [ "$SCREENTYPE" = "lcd" ]; then
-  echo "res: $(echo $TIMINGS | xargs echo)"
-  echo "disptype: lcd"
-else
-  if [ "$NTIMINGS" -gt "1" ]; then
-    echo "res: $(echo $OUTTIMINGS | xargs echo)"
-  else
-    echo "res: $(echo $HIGHEST | xargs echo)"
-  fi
-  echo "disptype: crt"
-fi
+echo "res: $(echo $TIMINGS | xargs echo)"
+echo "displaytype: $SCREENTYPE"
 echo "name: $MONITORNAME"
 echo "freq: $MONITORRANGE"
diff -u xresprobe-0.4.23debian1/debian/control xresprobe-0.4.23debian1/debian/control
--- xresprobe-0.4.23debian1/debian/control
+++ xresprobe-0.4.23debian1/debian/control
@@ -3,8 +3,8 @@
 Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Otavio Salvador <otavio@debian.org>, David Nusinow <dnusinow@debian.org>
-Build-Depends: debhelper (>= 4.0.0), cdbs
-Standards-Version: 3.7.2
+Build-Depends: debhelper (>= 7), cdbs
+Standards-Version: 3.9.1
 
 Package: xresprobe
 Architecture: any
only in patch2:
unchanged:
--- xresprobe-0.4.23debian1.orig/xresprobe
+++ xresprobe-0.4.23debian1/xresprobe
@@ -137,10 +137,11 @@
 fi
 
 if [ "x$LAPTOP" = "xyes" ]; then
-  if [ "$(uname -m)" = "ppc" ] || [ "$(uname -m)" = "ppc64" ]; then
+  # Allow use of ddc on intel; doprobe can result in screen corruption (LP: #127008)
+  if [ "$(uname -m)" = "ppc" ] || [ "$(uname -m)" = "ppc64" ] || [ "x$DRIVER" = "xintel" ]; then
     doddc
   fi
-  if [ -z "$RES" ]; then
+  if [ -z "$RES" ] && [ ! "x$DRIVER" = "xintel" ]; then
     doprobe
   fi
   DISPTYPE="lcd/lvds"
only in patch2:
unchanged:
--- xresprobe-0.4.23debian1.orig/xorg.conf
+++ xresprobe-0.4.23debian1/xorg.conf
@@ -14,7 +14,6 @@
 	Load	"freetype"
 	Load	"int10"
 	Load	"record"
-	Load	"type1"
 	Load	"vbe"
 EndSection
 Section "InputDevice"
only in patch2:
unchanged:
--- xresprobe-0.4.23debian1.orig/xprobe.sh
+++ xresprobe-0.4.23debian1/xprobe.sh
@@ -41,7 +41,11 @@
 sed -e "s/::DRIVER::/$DRIVER/;" < "$DATAPATH/xorg.conf" > "$TMPCONF"
 set +e
 
-/usr/bin/Xorg :67 -ac -probeonly -logfile "$TMPLOG" -config "$TMPCONF" > "$TMPOUT" 2>&1
+if [ "$DRIVER" = "vesa" ]; then
+  /usr/bin/Xorg :67 -ac -probeonly -logfile "$TMPLOG" > "$TMPOUT" 2>&1
+else
+  /usr/bin/Xorg :67 -ac -probeonly -logfile "$TMPLOG" -config "$TMPCONF" > "$TMPOUT" 2>&1
+fi
 
 echo "$XDIR"
 exit 0
only in patch2:
unchanged:
--- xresprobe-0.4.23debian1.orig/lcdsize.sh
+++ xresprobe-0.4.23debian1/lcdsize.sh
@@ -62,6 +62,10 @@
   EGREPLINE="\(II\) I810\(.*\): Size of device LFP \(local flat panel\) is .* x .*"
   SEDLINE="s/(II) I810([^)]*): Size of device LFP (local flat panel) is \([^ ]*\) x \([^ ]*\)/\1x\2/;"
   getres
+elif [ "$DRIVER" = "intel" ]; then
+  EGREPLINE="\(II\) intel\(.*\): Output LVDS using initial mode .*x.*"
+  SEDLINE="s/(II) intel([^)]*): Output LVDS using initial mode \([^ ]*\)x\([^ ]*\)/\1x\2/;"
+  getres
 elif [ "$DRIVER" = "savage" ]; then
   EGREPLINE="\(--\) SAVAGE\(.*\): .*.* .* LCD panel detected.*"
   SEDLINE="s/(--) SAVAGE([^)]*): \([^x]*\)x\([^x]*\) [^ ]* LCD panel detected.*$/\1x\2/;"
@@ -109,6 +113,10 @@
   EGREPLINE="\(--\) CHIPS\(.*\): Display Size: x=.*; y=.*"
   SEDLINE="s/(--) CHIPS([^)]*): Display Size: x=\([^;]*\); y=\([^ ]*\)/\1x\2/;"
   getres
+elif [ "$DRIVER" = "vesa" ]; then
+  EGREPLINE="\(--\) VESA\(.*\): Virtual size is .*x.*"
+  SEDLINE="s/(--) VESA([^)]*): Virtual size is \([^x]*\)x\([^ ]*\).*/\1x\2/;"
+  getres
 else
   exit 1
 fi
only in patch2:
unchanged:
--- xresprobe-0.4.23debian1.orig/debian/compat
+++ xresprobe-0.4.23debian1/debian/compat
@@ -1 +1 @@
-4
+7

Happy hacking,
-- 
Petter Reinholdtsen



Reply to: