[Reportbug-maint] Bug#537734: mdadm bugscript output no longer included in mail

martin f krafft madduck at debian.org
Mon Jul 20 14:36:35 UTC 2009


Package: reportbug
Version: 4.5
Severity: important

Something changed in reportbug such that the method I used to run
the bugscript as root in lenny's mdadm (2.6.7.2-3) no longer works
in sid: instead of &3, the output seems to go to &1.

Attached is the bugscript I use. Again, this works in lenny.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31-rc3-amd64 (SMP w/1 CPU core)
Locale: LANG=en_GB, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages reportbug depends on:
ii  apt                           0.7.21     Advanced front-end for dpkg
ii  python                        2.5.4-2    An interactive high-level object-o
ii  python-reportbug              4.5        Python modules for interacting wit

reportbug recommends no packages.

Versions of packages reportbug suggests:
ii  debconf-utils                1.5.27      debconf utilities
pn  debsums                      <none>      (no description available)
pn  dlocate                      <none>      (no description available)
ii  file                         5.03-1      Determines file type using "magic"
ii  gnupg                        1.4.9-4     GNU privacy guard - a free PGP rep
ii  postfix [mail-transport-agen 2.6.2~rc1-1 High-performance mail transport ag
ii  python-gnome2-extras         2.25.3-2    Extra Python bindings for the GNOM
ii  python-gtk2                  2.14.1-3    Python bindings for the GTK+ widge
pn  python-urwid                 <none>      (no description available)
ii  python-vte                   1:0.20.5-1  Python bindings for the VTE widget

-- no debconf information


-- 
 .''`.   martin f. krafft <madduck at d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems
-------------- next part --------------
#!/bin/bash
#
# mdadm bug submission control script
#
# allows Debian's bug tools to include relevant information in bug reports.
#
# Copyright ? martin f. krafft <madduck at debian.org>
# distributed under the terms of the Artistic Licence 2.0
#
# we need /bin/bash for readline and -n capabalities in the prompt(s)
#

# maximise information output even in the case of errors
set +eu

if ! command -v yesno >/dev/null; then
  if [ -r /usr/share/reportbug/handle_bugscript ]; then
    exec /usr/share/reportbug/handle_bugscript ". $0" /dev/stdout
  fi
  yesno() {
    read -n1 -p"$1" REPLY
    case "$REPLY" in
      [yY]) REPLY=yep;;
      [nN]) REPLY=nop;;
      ('') REPLY="$2";;
    esac
  }
  exec 3>&1
fi

# do not let people ctrl-c out of the bugscript
trap : INT

if [ $(id -u) != 0 ]; then
  if [ -x "$(command -v sudo)" ]; then
    yesno "Gather system information as root using sudo? (Y/n) " yep
    if [ "$REPLY" = yep ]; then
      echo running sudo "$0" "$@"...
      sudo "$0" "$@" && exit 0
      echo "sudo invocation failed, trying /bin/su..."
    fi
  fi

  yesno "Gather system information as root using su? (Y/n) " yep
  if [ "$REPLY" = yep ]; then
    ARGS=
    for i in "$@"; do ARGS="${ARGS:+$ARGS }'$1'"; shift; done
    echo "running su root -s '/bin/sh -c $0 $ARGS'..."
    su root -s /bin/sh -c "$0 $ARGS" && exit 0
    unset ARGS
    echo "su invocation failed."
  fi

  # arrive here only if neither sudo nor su worked:
  yesno "Will you provide system information in the bug report yourself? (N/y) " nop
  if [ "$REPLY" = yep ]; then
    cat <<_eof >&3

IMPORTANT:
  please do not forget to include all relevant system information with this
  bug report. You could run
    /usr/share/bug/mdadm/script 3>&1
  as root and attach or include the output.

_eof
    exit 0
  fi

  # try our best
  cat <<_eof >&3

WARNING:
  the following output was not generated by the root user. If you can, please
  replace the following up until "-- System Information:" with the output of
    /usr/share/bug/mdadm/script 3>&1
  run as root. Thanks!

_eof
fi

if [ ! -r /proc/mdstat ]; then
  echo "The local system does not have MD (RAID) support: no drivers loaded."
  echo "Without MD support, I cannot collect as much information as I'd like."

  #yesno "Are you sure you want to report a bug at this time? " yep
  yesno "Hit any key to continue..." yep
  #[ "$REPLY" = yep ] || exit 1
fi

echo "--- mount output" >&3
mount >&3
echo >&3

echo "--- mdadm.conf" >&3
if [ -r /etc/mdadm/mdadm.conf ]; then
  cat /etc/mdadm/mdadm.conf >&3
else
  echo no mdadm.conf file. >&3
fi
echo >&3

echo "--- /proc/mdstat:" >&3
cat /proc/mdstat >&3 2>&3 || :
echo >&3

echo "--- /proc/partitions:" >&3
cat /proc/partitions >&3 2>&3 || :
echo >&3

echo "--- initrd.img-$(uname -r):" >&3
if [ -r /boot/initrd.img-$(uname -r) ]; then
  TEMPDIR=$(mktemp -d)
  OLDPWD="$PWD"
  cd "$TEMPDIR"
  zcat /boot/initrd.img-$(uname -r) 2>&3 | cpio -i 2>&3
  find -regex '.*/md[a/].+' -type f -exec md5sum {} \; >&3
  cd "$OLDPWD"
  rm -rf "$TEMPDIR"
  unset TEMPDIR
fi
echo >&3

if [ -r /proc/modules ]; then
  echo "--- /proc/modules:" >&3
  egrep '(dm_|raid|linear|multipath|faulty)' < /proc/modules >&3 || :
  echo >&3
fi

if [ -f /var/log/syslog ]; then
  if [ -r /var/log/syslog ]; then
    echo "--- /var/log/syslog:" >&3
    egrep "^\w{3} [ :[:digit:]]{11} ($(hostname)|localhost) (kernel: md|mdadm): " /var/log/syslog >&3 || :
    echo >&3
  else
    echo "syslog not readable by user." >&3
  fi
fi

echo "--- volume detail:" >&3
for dev in /dev/[hsv]d[a-z]*; do
  [ ! -r $dev ] && echo "$dev not readable by user." && continue
  mdadm -E $dev 2>/dev/null && echo -- || echo "$dev is not recognised by mdadm."
done >&3
echo >&3

if [ -r /proc/cmdline ]; then
  echo "--- /proc/cmdline" >&3
  cat /proc/cmdline >&3
  echo >&3
fi

if [ -f /boot/grub/grub.cfg ]; then
  echo "--- grub2:" >&3
  if [ -r /boot/grub/grub.cfg ]; then
    egrep '^[^#].*\<(root=|raid)' /boot/grub/grub.cfg >&3 || :
  else
    echo grub.cfg file not readable. >&3
  fi
  echo >&3
fi

if [ -f /boot/grub/menu.lst ]; then
  echo "--- grub legacy:" >&3
  if [ -r /boot/grub/menu.lst ]; then
    grep '^[^#].*\<root=' /boot/grub/menu.lst >&3 || :
  else
    echo menu.lst file not readable. >&3
  fi
  echo >&3
fi

if [ -f /etc/lilo.conf ]; then
  echo "--- lilo:" >&3
  if [ -r /etc/lilo.conf ]; then
    egrep '^([^#].*)?root=' /etc/lilo.conf >&3 || :
  else
    echo lilo.conf file not readable. >&3
  fi
  echo >&3
fi

echo "--- udev:" >&3
COLUMNS=70 dpkg -l udev | grep '\<udev\>' >&3
md5sum /etc/udev/rules.d/*md* /lib/udev/rules.d/*md* >&3 2>/dev/null
echo >&3

echo "--- /dev:" >&3
ls -l /dev/md* /dev/disk/by-* >&3
echo >&3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature (see http://martin-krafft.net/gpg/)
URL: <http://lists.alioth.debian.org/pipermail/reportbug-maint/attachments/20090720/a8400917/attachment.pgp>


More information about the Reportbug-maint mailing list