X-Git-Url: http://git.csclub.uwaterloo.ca/?p=kopensolaris-gnu%2Fglibc.git;a=blobdiff_plain;f=glibcbug.in;h=0f392e7151c3dff11558e595ec55102b099f1b6b;hp=6473b2c7e7e17debdaf8acc6417389b25228eb46;hb=3552e7b22f3877c849c73478f56bf3389809d8b5;hpb=8ef1ef7081327bec1a19e8041a9b2eda311e73f5 diff --git a/glibcbug.in b/glibcbug.in index 6473b2c7e7..0f392e7151 100644 --- a/glibcbug.in +++ b/glibcbug.in @@ -6,23 +6,49 @@ # these variables are filled in by configure # VERSION="@VERSION@" -BUGGLIBC="bugs@gnu.ai.mit.edu" +RELEASE="@RELEASE@" ADDONS="@subdirs@" +HOST="@host@" +CC='@CC@' +CFLAGS="@CFLAGS@" +SYSINCLUDES="@SYSINCLUDES@" +VERSIONING="@VERSIONING@" +BUILD_STATIC="@static@" +BUILD_SHARED="@shared@" +BUILD_PIC_DEFAULT="@pic_default@" +BUILD_PROFILE="@profile@" +BUILD_OMITFP="@omitfp@" +BUILD_BOUNDED="@bounded@" +BUILD_STATIC_NSS="@static_nss@" +STDIO="@stdio@" -PATH=/bin:/usr/bin:/usr/local/bin:$PATH -export PATH +TEMP=`mktemp -q /tmp/glibcbugXXXXXX 2>/dev/null` +if test $? -ne 0; then + TEMP=/tmp/glibcbug.$$ + echo > $TEMP + chmod 600 $TEMP +fi +TEMPx=`mktemp -q /tmp/glibcbugXXXXXX 2>/dev/null` +if test $? -ne 0; then + TEMPx=/tmp/glibcbug.$$.x + echo > $TEMPx + chmod 600 $TEMPx +fi -TEMP=/tmp/glibcbug.$$ +if test "$RELEASE" = "stable"; then + BUGGLIBC="bugs@gnu.org" +else + BUGGLIBC="libc-alpha@cygnus.com" +fi BUGADDR=${1-$BUGGLIBC} -ENVIRONMENT=`uname -a` : ${EDITOR=emacs} : ${USER=${LOGNAME-`whoami`}} -trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15 -trap 'rm -f $TEMP $TEMP.x' 0 +trap 'rm -f $TEMP $TEMPx; exit 1' 1 2 3 13 15 +trap 'rm -f $TEMP $TEMPx' 0 # How to read the passwd database. @@ -53,7 +79,6 @@ else # 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 [ -n "$ORGANIZATION" ]; then @@ -84,9 +109,15 @@ SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \ ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""` ARCH=`[ -f /bin/arch ] && /bin/arch` MACHINE=`[ -f /bin/machine ] && /bin/machine` +CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'` + +case $HOST in *linux*) + KHDRS=`(echo '#include ' + echo '! UTS_RELEASE' ) | + $CC $SYSINCLUDES -E - | sed -n '/!/s/[! "]//gp'`;; +esac ORGANIZATION_C='' -CONFIDENTIAL_C='<[ yes | no ] (one line)>' SYNOPSIS_C='' SEVERITY_C='<[ non-critical | serious | critical ] (one line)>' PRIORITY_C='<[ low | medium | high ] (one line)>' @@ -107,11 +138,11 @@ From: ${USER} To: ${BUGADDR} Subject: [50 character or so descriptive subject here (for reference)] ->Submitter-Id: +>Submitter-Id: net >Originator: ${ORIGINATOR} >Organization: ${ORGANIZATION- $ORGANIZATION_C} ->Confidential: $CONFIDENTIAL_C +>Confidential: no >Synopsis: $SYNOPSIS_C >Severity: $SEVERITY_C >Priority: $PRIORITY_C @@ -119,11 +150,25 @@ ${ORGANIZATION- $ORGANIZATION_C} >Class: $CLASS_C >Release: libc-${VERSION} >Environment: - + $ENVIRONMENT_C +`[ -n "$HOST" ] && echo Host type: $HOST` `[ -n "$SYSTEM" ] && echo System: $SYSTEM` `[ -n "$ARCH" ] && echo Architecture: $ARCH` `[ -n "$MACHINE" ] && echo Machine: $MACHINE` `[ -n "$ADDONS" ] && echo Addons: $ADDONS` +`[ -n "$CFLAGS" ] && echo Build CFLAGS: $CFLAGS` +`[ -n "$CC" ] && echo Build CC: $CC` +`[ -n "$CCVERSION" ] && echo Compiler version: $CCVERSION` +`[ -n "$KHDRS" ] && echo Kernel headers: $KHDRS` +`[ -n "$VERSIONING" ] && echo Symbol versioning: $VERSIONING` +`[ -n "$BUILD_STATIC" ] && echo Build static: $BUILD_STATIC` +`[ -n "$BUILD_SHARED" ] && echo Build shared: $BUILD_SHARED` +`[ -n "$BUILD_PIC_DEFAULT" ] && echo Build pic-default: $BUILD_PIC_DEFAULT` +`[ -n "$BUILD_PROFILE" ] && echo Build profile: $BUILD_PROFILE` +`[ -n "$BUILD_OMITFP" ] && echo Build omitfp: $BUILD_OMITFP` +`[ -n "$BUILD_BOUNDED" ] && echo Build bounded: $BUILD_BOUNDED` +`[ -n "$BUILD_STATIC_NSS" ] && echo Build static-nss: $BUILD_STATIC_NSS` +`[ -n "$STDIO" ] && echo Stdio: $STDIO` >Description: $DESCRIPTION_C @@ -134,11 +179,11 @@ ${ORGANIZATION- $ORGANIZATION_C} EOF chmod u+w $TEMP -cp $TEMP $TEMP.x +cp $TEMP $TEMPx eval $EDIT $TEMP -if cmp -s $TEMP $TEMP.x; then +if cmp -s $TEMP $TEMPx; then echo "File not changed, no bug report submitted." exit 1 fi @@ -163,16 +208,8 @@ q while :; do CNT=0 - # 1) Confidential - # - PATTERN=">Confidential:" - CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP` - case "$CONFIDENTIAL" in - ""|yes|no) CNT=`expr $CNT + 1` ;; - *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;; - esac # - # 2) Severity + # 1) Severity # PATTERN=">Severity:" SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` @@ -181,7 +218,7 @@ while :; do *) echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'." esac # - # 3) Priority + # 2) Priority # PATTERN=">Priority:" PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` @@ -190,7 +227,7 @@ while :; do *) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'." esac # - # 4) Class + # 3) Class # PATTERN=">Class:" CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP` @@ -199,7 +236,7 @@ while :; do *) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'." esac - [ $CNT -lt 4 ] && + [ $CNT -lt 3 ] && echo "Errors were found with the problem report." while :; do @@ -239,9 +276,9 @@ sed -e " /^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;; /^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;; /^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;; -" $TEMP > $TEMP.x +" $TEMP > $TEMPx -if $MAIL_AGENT $BUGGLIBC < $TEMP.x; then +if $MAIL_AGENT < $TEMPx; then echo "$COMMAND: problem report sent" xs=0; exit else