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: