#!/bin/sh
# Copyright (c) 2000, 2014 Oracle and/or its affiliates. All rights reserved.
# Use is subject to license terms
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Create a bug report and mail it to the mysql mailing list
# Based on glibc bug reporting script.
echo "Warning: $0 is deprecated and will be removed in a future version." 1>&2
echo "Finding system information for a MySQL bug report"
VERSION="@VERSION@@MYSQL_SERVER_SUFFIX@"
COMPILATION_COMMENT="@COMPILATION_COMMENT@"
BUGmysql="[email protected]"
# This is set by configure
COMP_CALL_INFO="CC='@SAVE_CC@' CFLAGS='@SAVE_CFLAGS@' CXX='@SAVE_CXX@' CXXFLAGS='@SAVE_CXXFLAGS@' LDFLAGS='@SAVE_LDFLAGS@' ASFLAGS='@SAVE_ASFLAGS@'"
COMP_RUN_INFO="CC='@CC@' CFLAGS='@CFLAGS@' CXX='@CXX@' CXXFLAGS='@CXXFLAGS@' LDFLAGS='@LDFLAGS@' ASFLAGS='@ASFLAGS@'"
CONFIGURE_LINE="@CONF_COMMAND@"
LIBC_INFO=""
for pat in /lib/libc.* /lib/libc-* /usr/lib/libc.* /usr/lib/libc-*
do
TMP=`ls -l $pat 2>/dev/null`
if test $? = 0
then
LIBC_INFO="$LIBC_INFO
$TMP"
fi
done
PATH=../client:$PATH:/bin:/usr/bin:/usr/local/bin
export PATH
BUGADDR=${1-$BUGmysql}
ENVIRONMENT=`uname -a`
: ${USER=${LOGNAME-`whoami`}}
COMMAND=`echo $0|sed 's%.*/\([^/]*\)%\1%'`
# Try to create a secure tmpfile
umask 077
TEMPDIR=/tmp/mysqlbug-$$
mkdir $TEMPDIR || (echo "can not create directory in /tmp, aborting"; exit 1;)
TEMP=${TEMPDIR}/mysqlbug
trap 'rm -f $TEMP $TEMP.x; rmdir $TEMPDIR; exit 1' 1 2 3 13 15
trap 'rm -f $TEMP $TEMP.x; rmdir $TEMPDIR' 0
# How to read the passwd database.
PASSWD="cat /etc/passwd"
if test -f /usr/lib/sendmail
then
MAIL_AGENT="/usr/lib/sendmail -oi -t"
elif test -f /usr/sbin/sendmail
then
MAIL_AGENT="/usr/sbin/sendmail -oi -t"
else
MAIL_AGENT="rmail $BUGmysql"
fi
# Figure out how to echo a string without a trailing newline
N=`echo 'hi there\c'`
case "$N" in
*c) ECHON1='echo -n' ECHON2= ;;
*) ECHON1=echo ECHON2='\c' ;;
esac
# Find out the name of the originator of this PR.
if test -n "$NAME"
then
ORIGINATOR="$NAME"
elif test -f $HOME/.fullname
then
ORIGINATOR="`sed -e '1q' $HOME/.fullname`"
else
# Must use temp file due to incompatibilities in quoting behavior
# and to protect shell metacharacters in the expansion of $LOGNAME
$PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP
ORIGINATOR="`cat $TEMP`"
rm -f $TEMP
fi
if test -n "$ORGANIZATION"
then
if test -f "$ORGANIZATION"
then
ORGANIZATION="`cat $ORGANIZATION`"
fi
else
if test -f $HOME/.organization
then
ORGANIZATION="`cat $HOME/.organization`"
elif test -f $HOME/.signature
then
ORGANIZATION=`sed -e "s/^/ /" $HOME/.signature; echo ">"`
fi
fi
PATH_DIRS=`echo $PATH | sed -e 's/^:/. /' -e 's/:$/ ./' -e 's/::/ . /g' -e 's/:/ /g' `
which_1 ()
{
for cmd
do
# Absolute path ?.
if expr "x$cmd" : "x/" > /dev/null
then
echo "$cmd"
exit 0
else
for d in $PATH_DIRS
do
file="$d/$cmd"
if test -x "$file" -a ! -d "$file"
then
echo "$file"
exit 0
fi
done
fi
done
exit 1
}
change_editor ()
{
echo "You can change editor by setting the environment variable VISUAL."
echo "If your shell is a bourne shell (sh) do"
echo "VISUAL=your_editors_name; export VISUAL"
echo "If your shell is a C shell (csh) do"
echo "setenv VISUAL your_editors_name"
}
# If they don't have a preferred editor set, then use emacs
if test -z "$VISUAL"
then
if test -z "$EDITOR"
then
# Honor debian sensible-editor
if test -x "/usr/bin/sensible-editor"
then
EDIT=/usr/bin/sensible-editor
else
EDIT=emacs
fi
else
EDIT="$EDITOR"
fi
else
EDIT="$VISUAL"
fi
#which_1 $EDIT
used_editor=`which_1 $EDIT`
echo "test -x $used_editor"
if test -x "$used_editor"
then
echo "Using editor $used_editor";
change_editor
sleep 2
else
echo "Could not find a text editor. (tried $EDIT)"
change_editor
exit 1
fi
# Find out some information.
SYSTEM=`( test -f /bin/uname && /bin/uname -a ) || \
( test -f /usr/bin/uname && /usr/bin/uname -a ) || echo ""`
ARCH=`test -f /bin/arch && /bin/arch`
MACHINE=`test -f /bin/machine && /bin/machine`
FILE_PATHS=
for cmd in perl make gmake gcc cc
do
file=`which_1 $cmd`
if test $? = 0
then
if test $cmd = "gcc"
then
GCC_INFO=`$file -v 2>&1`
elif test $cmd = "perl"
then
PERL_INFO=`$file -v | grep -i version 2>&1`
fi
FILE_PATHS="$FILE_PATHS $file"
fi
done
admin=`which_1 mysqladmin`
MYSQL_SERVER=
if test -x "$admin"
then
MYSQL_SERVER=`$admin version 2> /dev/null`
if test "$?" = "1"
then
MYSQL_SERVER=""
fi
fi
SUBJECT_C="[50 character or so descriptive subject here (for reference)]"
ORGANIZATION_C=''
FIX_C='