Bug#358390: xserver-xorg: /usr/share/bug script patch for readability, portability, and extensibility
Package: xserver-xorg
Version: 6.9.0.dfsg.1-4
Severity: minor
Tags: patch
I moved the >&3 to a single exec statement up top, instead of on each
output line, set -e, and replaced "$()" with just `` (the outer quotes
aren't needed, see info autoconf),
#!/bin/sh
set -e;
# $Id: xserver-xorg.bug.script 345 2005-07-15 15:59:01Z dnusinow $
PATH="/sbin:$PATH"
CONFIG_DIR=/etc/X11
SERVER_SYMLINK="$CONFIG_DIR/X"
XF86CONFIG="$CONFIG_DIR/XF86Config-4"
XORGCONFIG="$CONFIG_DIR/xorg.conf"
CONFIG_AUX_DIR=/var/lib/xfree86
SERVER_SYMLINK_CHECKSUM="$CONFIG_AUX_DIR/${SERVER_SYMLINK##*/}.md5sum"
SERVER_SYMLINK_ROSTER="$CONFIG_AUX_DIR/${SERVER_SYMLINK##*/}.roster"
XF86CONFIG_CHECKSUM="$CONFIG_AUX_DIR/${XF86CONFIG##*/}.md5sum"
XORGCONFIG_CHECKSUM="$CONFIG_AUX_DIR/${XORGCONFIG##*/}.md5sum"
XF86CONFIG_ROSTER="$CONFIG_AUX_DIR/${XF86CONFIG##*/}.roster"
XORGCONFIG_ROSTER="$CONFIG_AUX_DIR/${XORGCONFIG##*/}.roster"
exec 3>&1;
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
printf "\n"
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"
ls -dl "$SERVER_SYMLINK"
ls -dl `readlink "$SERVER_SYMLINK"`
else
printf "$SERVER_SYMLINK does not exist.\n"
fi
if ! [ -L "$SERVER_SYMLINK" ]; then
printf "$SERVER_SYMLINK is not a symlink.\n"
fi
if ! [ -x "$SERVER_SYMLINK" ]; then
printf "$SERVER_SYMLINK is not executable.\n"
fi
printf "\n"
if [ -e "$XORGCONFIG_ROSTER" ]; then
printf "Contents of $XORGCONFIG_ROSTER:\n"
cat "$XORGCONFIG_ROSTER"
else
printf "$XORGCONFIG_ROSTER does not exist.\n"
fi
printf "\n"
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:'
else
printf "The lspci command was not found; not including PCI data.\n"
fi
printf "\n"
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"
ls -dl "$XORGCONFIG"
printf "\n"
printf "Contents of $XORGCONFIG:\n"
cat "$XORGCONFIG"
printf "\n"
else
printf "$XORGCONFIG does not exist.\n"
fi
printf "\n"
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"
ls -dlrt /var/log/Xorg.*.log 2>/dev/null
printf "\n"
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"
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"
fi
printf "\n"
# vim:set ai et sts=4 sw=4 tw=0:
Reply to: