Hello community, here is the log from the commit of package supportutils for openSUSE:Leap:15.2 checked in at 2020-04-25 19:07:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/supportutils (Old) and /work/SRC/openSUSE:Leap:15.2/.supportutils.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "supportutils" Sat Apr 25 19:07:17 2020 rev:32 rq:797234 version:3.1.9 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/supportutils/supportutils.changes 2020-03-06 12:43:19.094831642 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.supportutils.new.2738/supportutils.changes 2020-04-25 19:07:40.827930561 +0200 @@ -2 +2,24 @@ -Wed Feb 26 18:41:57 UTC 2020 - [email protected] +Fri Mar 13 20:45:16 UTC 2020 - [email protected] + +- Addition to version 3.1.9 + + Changes affecting getappcore + - Added core file validation (bsc#1166126) + - Added -j <PID> to extract core from systemd journal + - Capture coredumptctl info in getappcore.log + + Changed filename prefixes from nts_ to scc_ (SLE-8702, SLE-6762) + - The new prefix references SUSE Customer Center + +------------------------------------------------------------------- +Tue Mar 3 14:22:12 UTC 2020 - [email protected] + +- Addition to version 3.1.8 + + Changes affecting getappcore + - Added -u for HTTPS and -f for FTPES uploads to SUSE FTP servers + - Replaced Novell with SUSE FTP servers (bsc#1165475) + - Uses /etc/getappcore.conf if present + + Changes affecting supportconfig + - Added missed Power collection per bsc#1162539 + - Added zypper patterns output to updates.txt #66 + +------------------------------------------------------------------- +Mon Mar 2 16:12:12 UTC 2020 - [email protected] Old: ---- supportutils-3.1.7.tar.gz New: ---- supportutils-3.1.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ supportutils.spec ++++++ --- /var/tmp/diff_new_pack.05UDRp/_old 2020-04-25 19:07:44.363938163 +0200 +++ /var/tmp/diff_new_pack.05UDRp/_new 2020-04-25 19:07:44.367938171 +0200 @@ -19,7 +19,7 @@ %define support_libdir /usr/lib/supportconfig Name: supportutils -Version: 3.1.7 +Version: 3.1.9 Release: 0 Summary: Support Troubleshooting Tools License: GPL-2.0 ++++++ supportutils-3.1.7.tar.gz -> supportutils-3.1.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/bin/analyzevmcore new/supportutils-3.1.9/bin/analyzevmcore --- old/supportutils-3.1.7/bin/analyzevmcore 2019-10-14 15:06:13.028616690 +0200 +++ new/supportutils-3.1.9/bin/analyzevmcore 2020-03-13 19:03:38.545774096 +0100 @@ -1,7 +1,7 @@ #!/bin/bash -SVER=1.32 -SDATE="2013 07 02" +SVER='1.33' +SDATE="2020 03 13" SNAME="analyzevmcore" # --------------------------------------------------------------------- # @@ -11,7 +11,7 @@ # Please submit bug fixes or comments via: # # http://en.opensuse.org/Supportutils#Reporting_Bugs # # # -# Copyright (C) 1999-2012 SUSE Linux Products GmbH, Nuernberg, Germany # +# Copyright (C) 1999-2020 SUSE Linux Products GmbH, Nuernberg, Germany # # # # --------------------------------------------------------------------- # # # @@ -26,10 +26,11 @@ # 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, see <http://www.gnu.org/licenses/>. # +# along with this program; if not, see <http://www.gnu.org/licenses/>. # # # # Authors/Contributors: # # Mike Latimer ([email protected]) # +# Jason Record ([email protected]) # # --------------------------------------------------------------------- # # # # Overview: # @@ -51,6 +52,9 @@ # --------------------------------------------------------------------- # # Changes: # # # +# 1.33 Release # +# - Changed filename prefix from nts_ to scc_ with FILENAME_PREFIX # +# - Processes all available crash dumps # # 1.32 Release # # - Improved support for user-specified crash directory # # 1.31 Release # @@ -80,6 +84,7 @@ REWRITE_ANALYSIS=0 FORMAT="%-35s" SPINSTR='|/-\' +FILENAME_PREFIX='scc_' #Required Binaries AWK_BIN=/usr/bin/awk @@ -122,10 +127,10 @@ { echo "Usage: $SNAME [OPTIONS]" echo - echo "$SNAME creates an analysis file (nts_analyzevmcore_<CORE_DATE>.txt) for all" + echo "$SNAME creates an analysis file (${FILENAME_PREFIX}analyzevmcore_<CORE_DATE>.txt) for all" echo "kernel cores found on the system. This analysis file is automatically copied" echo "to /var/log, and included in supportconfig archives for further analysis by" - echo "Novell and SUSE Technical Services." + echo "SUSE Technical Services." echo echo "In order to create the analysis, this script requires the debuginfo kernel" echo "(vmlinux-*.debug) that matches the kernel version which generated the core." @@ -340,9 +345,9 @@ echo echo " --- Missing $DEBUGKERNEL! ---" echo - echo "Please install the debuginfo package for this kernel and try again." - echo "The debuginfo kernel can be automatically installed (if debuginfo" - echo "channels are activated) using:" + echo " Please install the debuginfo package for this kernel and try again." + echo " The debuginfo kernel can be automatically installed (if debuginfo" + echo " channels are activated) using:" echo if [ "$CRASHV4" = "1" ]; then echo " rug in kernel-$KERNEL_FLAVOR-debuginfo-$KERNEL_VER" @@ -350,9 +355,9 @@ echo " zypper in kernel-$KERNEL_FLAVOR-debuginfo-${KERNEL_VER%-*}" fi echo - echo "For additional information, see analyzevmcore(8)." + echo " For additional information, see analyzevmcore(8)." echo - exit -1 + return 1 fi fi else @@ -364,6 +369,7 @@ $LN_BIN -s /usr/lib/debug/boot/$DEBUGKERNEL $CRASHDIR/$DEBUGKERNEL fi fi + return 0 } # --------------------------------------------------------- # @@ -561,10 +567,13 @@ if ! [ -z "$COREDIR" ]; then TMP_DIR=$($MKTEMP_BIN -d /tmp/analyzevmcore_tmp_XXXXXX) ORG_DIR=$PWD + COREDIR_TOTAL=$($WC_BIN -w <<< $COREDIR) + COREDIR_COUNT=1 for CRASHDIR in $COREDIR; do - echo "Analyzing $CRASHDIR..." + echo "Analyzing $COREDIR_COUNT of $COREDIR_TOTAL $CRASHDIR..." + (( COREDIR_COUNT++ )) CORE_DATE=${CRASHDIR##*/} - ANALYSIS="$CRASHDIR/nts_analyzevmcore_$CORE_DATE.txt" + ANALYSIS="$CRASHDIR/${FILENAME_PREFIX}analyzevmcore_$CORE_DATE.txt" $PRINTF_BIN "$FORMAT" " Existing analysis..." if [ -e "$ANALYSIS" ]; then if [ "$REWRITE_ANALYSIS" = "1" ]; then @@ -601,11 +610,12 @@ fi $PRINTF_BIN "$FORMAT" " Checking vmlinux.debug..." - checkdebug - - createreport - - cd $OLD_DIR + if checkdebug; then + createreport + cd $OLD_DIR + else + continue + fi fi echo done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/bin/chkbin new/supportutils-3.1.9/bin/chkbin --- old/supportutils-3.1.7/bin/chkbin 2019-10-14 15:06:13.028616690 +0200 +++ new/supportutils-3.1.9/bin/chkbin 2020-03-13 15:59:34.181768788 +0100 @@ -1,6 +1,6 @@ #!/bin/bash -SVER=1.01-25 +SVER='1.02.1' ############################################################################## # chkbin - Checks the specified binary and it shared library dependencies @@ -9,7 +9,7 @@ # Please submit bug fixes or comments via: # http://en.opensuse.org/Supportutils#Reporting_Bugs # -# Copyright (C) 2007-2012 SUSE Linux Products GmbH, Nuernberg, Germany +# Copyright (C) 2007-2020 SUSE Linux Products GmbH, Nuernberg, Germany # ############################################################################## # @@ -26,7 +26,7 @@ # along with this program; if not, see <http://www.gnu.org/licenses/>. # # Authors/Contributors: -# Jason Record ([email protected]) +# Jason Record ([email protected]) # ############################################################################## @@ -42,6 +42,7 @@ SCR_LOG=$(mktemp /tmp/chkbin_screen_XXXXXXXX) TMP_LOGS="$RPM_LOG $RPMV_LOG $LDD_LOG $CACHE_LOG $DL_LOG $ALL_LOG $SCR_LOG" SHOW_LEGEND=0 +ARCHIVE_PREFIX='scc_' GDIFF=0 GWARN=0 GERR=0 @@ -155,7 +156,7 @@ done shift $(( $# - 1 )) BINARG=$@ -LOG=$LOGPATH/nts_chkbin_$(basename $BINARG)_$$.txt +LOG=$LOGPATH/${ARCHIVE_PREFIX}chkbin_$(basename $BINARG)_$$.txt clear >$LOG title | tee -a $LOG diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/bin/getappcore new/supportutils-3.1.9/bin/getappcore --- old/supportutils-3.1.7/bin/getappcore 2020-02-26 18:54:42.870968242 +0100 +++ new/supportutils-3.1.9/bin/getappcore 2020-03-12 19:57:29.505524280 +0100 @@ -1,7 +1,7 @@ #!/bin/bash -SVER=1.31 -SDATE="2019 11 18" +SVER='1.51.2' +SDATE="2020 03 12" SNAME=$(basename $0) # --------------------------------------------------------------------- # @@ -12,7 +12,7 @@ # Please submit bug fixes or comments via: # # http://en.opensuse.org/Supportutils#Reporting_Bugs # # # -# Copyright (C) 2007,2008-2019 SUSE LINUX GmbH, Nuernberg, Germany # +# Copyright (C) 2007,2008-2020 SUSE LINUX GmbH, Nuernberg, Germany # # # # --------------------------------------------------------------------- # # # @@ -26,7 +26,7 @@ # 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, see <http://www.gnu.org/licenses/>. # +# along with this program; if not, see <http://www.gnu.org/licenses/>. # # # # Authors/Contributors: # # Mike Latimer ([email protected]) # @@ -39,7 +39,7 @@ # Overview: # # # # This script is intended to ease the process of getting application # -# cores to an analyzable state by Novell Support. # +# cores to an analyzable state by SUSE Technical Support. # # # # This script creates a tarball containing the specified application # # core, and all libraries required to run the core'ing binary. This # @@ -50,6 +50,18 @@ # --------------------------------------------------------------------- # # Changes: # # # +# 1.52 Release # +# - Capture coredumpctl info in getappcore.log # +# - Changed nts_ to scc_ with ARCHIVE_PREFIX # +# 1.51 Release # +# - Added journal core dump processing # +# - Check for valid core file # +# - Updated documentation and messages # +# - Creates ARCHIVE_PATH as needed # +# 1.46 Release # +# - Replaced Novell with SUSE FTP servers # +# - Uses /etc/getappcore.conf if present # +# - Added -u for HTTPS and -f for FTPES uploads to SUSE FTP servers # # 1.30 Release # # - Added /etc/os-release processing # # 1.28 Release # @@ -63,16 +75,30 @@ # --------------------------------------------------------------------- # -ARCHIVE_PATH=/var/log -TMP_DIR=$(/bin/mktemp -d /tmp/getappcore_tmp_XXXXXXXX) -GETAPPCORE_LOG=$TMP_DIR/getappcore.log -GDBLIBS_CMD=$TMP_DIR/.gdblibs.cmd +ARCHIVE_PATH="/var/log" +BASE_TMP_DIR="/tmp" +GETAPPCORE_CONF="/etc/getappcore.conf" +GETAPPCORE_TMP_DIR=$(/bin/mktemp -d ${BASE_TMP_DIR}/getappcore_tmp_XXXXXXXX) +GETAPPCORE_LOG="$GETAPPCORE_TMP_DIR/getappcore.log" +GDBLIBS_CMD=$GETAPPCORE_TMP_DIR/.gdblibs.cmd SERVER_NAME=$(/bin/uname -n) SUSE_RELEASE="/etc/SuSE-release" OS_RELEASE="/etc/os-release" +ARCHIVE_PREFIX='scc_' +JOURNAL_PID='' UPLOAD=0 -UPLOAD_URL="ftp://ftp.novell.com/incoming" VERBOSE=0 +CLEANUP_CORE=0 + +SUSE_UPLOAD_NA_ASERVER='support-ftp.us.suse.com' +SUSE_UPLOAD_EMEA_ASERVER='support-ftp.emea.suse.com' +SUSE_UPLOAD_NA_HTTPS="https://${SUSE_UPLOAD_NA_ASERVER}/incoming/upload.php?appname=supportconfig&file={tarball}" +SUSE_UPLOAD_NA_FTPES="ftps://${SUSE_UPLOAD_NA_ASERVER}/incoming" +SUSE_UPLOAD_EMEA_HTTPS="https://${SUSE_UPLOAD_EMEA_ASERVER}/incoming/upload.php?appname=supportconfig&file={tarball}" +SUSE_UPLOAD_EMEA_FTPES="ftps://${SUSE_UPLOAD_EMEA_ASERVER}/incoming" +DEFAULT_HTTPS="${SUSE_UPLOAD_NA_HTTPS}" +DEFAULT_FTPES="${SUSE_UPLOAD_NA_FTPES}" +UPLOAD_TARGET="${DEFAULT_HTTPS}" #Required Binaries AWK_BIN=/usr/bin/awk @@ -80,9 +106,11 @@ CAT_BIN=/bin/cat CHKBIN_BIN=/sbin/chkbin CHMOD_BIN=/bin/chmod +COREDUMP_BIN=/usr/bin/coredumpctl CURL_BIN=/usr/bin/curl CUT_BIN=/usr/bin/cut DATE_BIN=/bin/date +DOS2UNIX_BIN=/usr/bin/dos2unix DIRNAME_BIN=/usr/bin/dirname FIND_BIN=/usr/bin/find GDB_BIN=/usr/bin/gdb @@ -95,6 +123,7 @@ RM_BIN=/bin/rm RMDIR_BIN=/bin/rmdir RPM_BIN=/bin/rpm +SED_BIN=/usr/bin/sed SORT_BIN=/usr/bin/sort TAR_BIN=/bin/tar TEE_BIN=/usr/bin/tee @@ -104,9 +133,9 @@ WC_BIN=/usr/bin/wc WHICH_BIN=/usr/bin/which XARGS_BIN=/usr/bin/xargs -ALL_BINS="$AWK_BIN $BASENAME_BIN $CAT_BIN $CHKBIN_BIN $CHMOD_BIN $CUT_BIN $DATE_BIN $DIRNAME_BIN $FIND_BIN \ +ALL_BINS="$AWK_BIN $BASENAME_BIN $CAT_BIN $CHKBIN_BIN $CHMOD_BIN $COREDUMP_BIN $CUT_BIN $DATE_BIN $DIRNAME_BIN $FIND_BIN \ $CURL_BIN $GDB_BIN $GREP_BIN $HEAD_BIN $LN_BIN $MKDIR_BIN $MV_BIN $READLINK_BIN $RM_BIN $RMDIR_BIN $RPM_BIN \ - $SORT_BIN $TAR_BIN $TEE_BIN $TR_BIN $UNAME_BIN $UNIQ_BIN $WC_BIN $WHICH_BIN $XARGS_BIN" + $SED_BIN $SORT_BIN $TAR_BIN $TEE_BIN $TR_BIN $UNAME_BIN $UNIQ_BIN $WC_BIN $WHICH_BIN $XARGS_BIN" # --------------------------------------------------------- # @@ -120,7 +149,7 @@ echo "Server: $SERVER_NAME" | $TEE_BIN -a $GETAPPCORE_LOG echo "OS: $OS_VERSION $OS_PATCHLEVEL" | $TEE_BIN -a $GETAPPCORE_LOG echo "Kernel: $($UNAME_BIN -r) ($($UNAME_BIN -i))" | $TEE_BIN -a $GETAPPCORE_LOG - echo "Corefile: $COREFILE" | $TEE_BIN -a $GETAPPCORE_LOG + echo "Corefile: $COREFILE_STR" | $TEE_BIN -a $GETAPPCORE_LOG echo "####################################################################" | $TEE_BIN -a $GETAPPCORE_LOG echo } @@ -130,7 +159,7 @@ # Display program help screen # # --------------------------------------------------------- # show_help() { - echo "Usage: $0 [OPTION] COREFILE" + echo "Usage: $0 [OPTION] < -j PID | /path/to/corefile >" echo echo "$SNAME creates an archive containing an application core, and all files" echo "required to analyze the application core - including the binary which" @@ -147,16 +176,20 @@ echo echo " -h This screen" echo " -b [BINARY] Binary which generated [COREFILE]" - echo " -r [SR Number] Novell Service Request number associated with this issue" - echo " -u Automatically upload archive to ftp.novell.com:/incoming" + echo " -j [PID] PID of coredump from coredumpctl list to extract" + echo " -r [SR Number] SUSE Service Request number associated with this issue" + echo " -u Automatically upload archive to the SUSE FTP server using HTTPS" + echo " -f Automatically upload archive to the SUSE FTP server using FTPES" echo " -v Enable verbose messages" echo echo "For example:" echo - echo " $SNAME -ur 12345678 -b /bin/rpm /core.15832" + echo " $SNAME -ur 00123456 -b /bin/rpm -j 2344" + echo " $SNAME -ur 00123456 -b /bin/rpm /core.15832" echo echo "$SNAME version $SVER ($SDATE)" echo + show_journal_coredumps } # --------------------------------------------------------- # @@ -164,8 +197,8 @@ # Enable vebose messages # # --------------------------------------------------------- # verbose() { - if [ $VERBOSE -eq '1' ]; then - echo "-- $1" + if [[ $VERBOSE -eq '1' ]]; then + [[ -z $1 ]] && echo || echo "-- $1" fi } @@ -217,29 +250,27 @@ echo echo "Please install the required package(s) and try again." echo + cleanup exit -1 fi } - - - - - -# -- ------------------------------------------------------ # +# --------------------------------------------------------- # # create_filename () # # Create the archive filename # # --------------------------------------------------------- # create_filename() { - CORE_ARCHIVE_NAME="$SERVER_NAME"_"$($BASENAME_BIN $COREFILE_BIN)_$($DATE_BIN +%y%m%d_%H%M)_appcore" + CORE_ARCHIVE_NAME="$SERVER_NAME"_"$($BASENAME_BIN $COREFILE_BIN)_$($DATE_BIN +%y%m%d_%H%M%S)_appcore" if [ -z "$SR_NUM" ]; then - CORE_ARCHIVE_NAME="nts_${CORE_ARCHIVE_NAME}" + CORE_ARCHIVE_NAME="${ARCHIVE_PREFIX}${CORE_ARCHIVE_NAME}" else - CORE_ARCHIVE_NAME="nts_SR${SR_NUM}_${CORE_ARCHIVE_NAME}" + CORE_ARCHIVE_NAME="${ARCHIVE_PREFIX}SR${SR_NUM}_${CORE_ARCHIVE_NAME}" fi - OPENCORE_INI=$TMP_DIR/$CORE_ARCHIVE_NAME/opencore.ini - OPENCORE_SH=$TMP_DIR/$CORE_ARCHIVE_NAME/opencore.sh - LOG_DIR=$TMP_DIR/$CORE_ARCHIVE_NAME/logs + verbose "Using archive name $CORE_ARCHIVE_NAME" + OPENCORE_INI=$GETAPPCORE_TMP_DIR/$CORE_ARCHIVE_NAME/opencore.ini + OPENCORE_SH=$GETAPPCORE_TMP_DIR/$CORE_ARCHIVE_NAME/opencore.sh + LOG_DIR=$GETAPPCORE_TMP_DIR/$CORE_ARCHIVE_NAME/logs + verbose "Making the log directory $LOG_DIR" $MKDIR_BIN -p $LOG_DIR } @@ -249,8 +280,9 @@ # ----------------------------------------------------------------- # create_opencoreini() { # Strip double slashes and ././ from COREFILE and COREFILE_BIN - COREFILE_BIN_TMP=`echo "./${COREFILE_BIN#./}" | sed s#//*#/#g` - COREFILE_TMP=`echo "./${COREFILE#./}" | sed s#//*#/#g` + verbose "Creating file: $OPENCORE_INI" + COREFILE_BIN_TMP=`echo "./${COREFILE_BIN#./}" | $SED_BIN s#//*#/#g` + COREFILE_TMP=`echo "./${COREFILE#./}" | $SED_BIN s#//*#/#g` echo "# Generated by $SNAME v$SVER" > $OPENCORE_INI echo "# Command line used: $CMDLINE" >> $OPENCORE_INI echo "# GDB environment:" >> $OPENCORE_INI @@ -274,6 +306,7 @@ # Create the opencore.sh script at the root of the archive # # --------------------------------------------------------- # create_opencoresh() { + verbose "Creating file: $OPENCORE_SH" echo "#!/bin/sh" > $OPENCORE_SH echo "gdb --command=./$($BASENAME_BIN $OPENCORE_INI)" >> $OPENCORE_SH echo "" >> $OPENCORE_SH @@ -292,15 +325,19 @@ verbose "Removing file: $FILE" $RM_BIN $FILE done + if (( $CLEANUP_CORE )); then + verbose "Removing file: $COREFILE" + $RM_BIN $COREFILE + fi for FILE in $REQUIRED_LIBRARIES $COREFILE $COREFILE_BIN; do - SYMLINK=$TMP_DIR/$CORE_ARCHIVE_NAME/$FILE + SYMLINK=$GETAPPCORE_TMP_DIR/$CORE_ARCHIVE_NAME/$FILE SYMLINK=${SYMLINK/\/\//\/} if [ -L "$SYMLINK" ]; then verbose "Removing symlink: $SYMLINK" $RM_BIN $SYMLINK fi done - for DIR in $($FIND_BIN $TMP_DIR -type d | sort -r); do + for DIR in $($FIND_BIN $GETAPPCORE_TMP_DIR -type d | sort -r); do verbose "Removing directory: $DIR" $RMDIR_BIN $DIR done @@ -315,7 +352,7 @@ # --------------------------------------------------------------- # create_symlinks() { for REQUIRED_FILE in $COREFILE $COREFILE_BIN $REQUIRED_LIBRARIES; do - REQUIRED_FILE_LINK=$TMP_DIR/$CORE_ARCHIVE_NAME/$REQUIRED_FILE + REQUIRED_FILE_LINK=$GETAPPCORE_TMP_DIR/$CORE_ARCHIVE_NAME/$REQUIRED_FILE REQUIRED_FILE_LINK=${REQUIRED_FILE_LINK/\/\//\/} $MKDIR_BIN -p $(dirname $REQUIRED_FILE_LINK) verbose "Creating symlink: $REQUIRED_FILE_LINK --> $REQUIRED_FILE" @@ -330,40 +367,128 @@ create_archive() { echo -n "Creating core archive... " ORIGINAL_DIR=$PWD - cd $TMP_DIR - FINAL_ARCHIVE_NAME=$ARCHIVE_PATH/${CORE_ARCHIVE_NAME}.tbz + cd $GETAPPCORE_TMP_DIR + FINAL_ARCHIVE_FILE="${CORE_ARCHIVE_NAME}.tbz" + FINAL_ARCHIVE_NAME="${ARCHIVE_PATH}/${FINAL_ARCHIVE_FILE}" + verbose '' verbose "Executing: $TAR_BIN -jhvcvf $FINAL_ARCHIVE_NAME $CORE_ARCHIVE_NAME 1>/dev/null 2>&1" $TAR_BIN -jhvcvf $FINAL_ARCHIVE_NAME $CORE_ARCHIVE_NAME 1>/dev/null 2>&1 if [ -e $FINAL_ARCHIVE_NAME ]; then echo "Done" - echo " Created archive as: $FINAL_ARCHIVE_NAME" + verbose "Created archive as: $FINAL_ARCHIVE_NAME" else - echo " Unable to create $FINAL_ARCHIVE_NAME!" + echo "ERROR" + echo "+ Unable to create $FINAL_ARCHIVE_NAME!" fi cd $ORIGINAL_DIR } # --------------------------------------------------------- # +# show_journal_coredumps() # +# Shows the number of coredumps in the journal # +# --------------------------------------------------------- # +show_journal_coredumps() { + echo -n "Number of coredumps in the journal... " + CORENUM=$($COREDUMP_BIN list --no-legend --no-pager | wc -l) + echo $CORENUM + if (( $CORENUM )); then + echo + if (( $VERBOSE )); then + $COREDUMP_BIN list + else + echo + echo "Most recent coredump:" + $COREDUMP_BIN list -1 + echo + echo "Use '$COREDUMP_BIN list' to see more." + fi + fi + echo +} + +# --------------------------------------------------------- # +# get_journal_coredump() # +# Gets the coredump from the journal using the PID # +# --------------------------------------------------------- # +get_journal_coredump() { + JPID=$1 + echo -n "Retrieving core file with PID ${JPID}... " + COREFILE="${ARCHIVE_PATH}/core.${JPID}" + COREFILE_BIN=$($COREDUMP_BIN dump -o ${COREFILE} ${JPID} 2>/dev/null | grep -i 'Executable:' | $AWK_BIN '{print $NF}') + #Only extracted core files are cleaned up. + CLEANUP_CORE=1 + if [[ -s $COREFILE ]]; then + echo Done + else + echo "ERROR" + echo "Coredump not found - PID ${JPID}" + echo + echo "Use '$COREDUMP_BIN list' to see coredumps." + echo + cleanup + exit 10 + fi + verbose "$($COREDUMP_BIN info $JPID)" + echo >> $GETAPPCORE_LOG + $COREDUMP_BIN info $JPID >> $GETAPPCORE_LOG + echo >> $GETAPPCORE_LOG + verbose "Extracted corefile: $COREFILE" + verbose "Associated executable: $COREFILE_BIN" +} + +# --------------------------------------------------------- # # upload_archive () # # Upload the appcore archive to the designated ftp server # # --------------------------------------------------------- # upload_archive() { - echo "Uploading Archive..." + echo "Uploading Archive... ${FINAL_ARCHIVE_FILE}" + UPLOAD_SERVICE=$(echo ${UPLOAD_TARGET} | cut -d: -f1) + ERRNO=255 + verbose "UPLOAD_TARGET = ${UPLOAD_TARGET}" + verbose "FINAL_ARCHIVE_FILE = ${FINAL_ARCHIVE_FILE}" + verbose "FINAL_ARCHIVE_NAME = ${FINAL_ARCHIVE_NAME}" + case $UPLOAD_SERVICE in + https) + echo "Protocol... HTTPS" + UPLOAD_URL=$($SED_BIN -e "s/{[Tt][Aa][Rr][Bb][Aa][Ll][Ll]}/${FINAL_ARCHIVE_FILE}/g" <<< ${UPLOAD_TARGET}) + verbose "UPLOAD_URL = $UPLOAD_URL" + verbose "Executing: $CURL_BIN -v -L -A SupportConfig -T ${FINAL_ARCHIVE_NAME} ${UPLOAD_URL}" + if (( $VERBOSE )); then + $CURL_BIN -v -L -A SupportConfig -T "${FINAL_ARCHIVE_NAME}" "${UPLOAD_URL}" + ERRNO=$? + else + $CURL_BIN -v -L -A SupportConfig -T "${FINAL_ARCHIVE_NAME}" "${UPLOAD_URL}" >> $GETAPPCORE_LOG 2>&1 + ERRNO=$? + fi + ;; + ftps|ftpes) + echo "Protocol... FTPES" + UPLOAD_URL=$($SED_BIN -e 's/ftpes:/ftp:/g;s/ftps:/ftp:/g' <<< ${UPLOAD_TARGET}) + verbose "UPLOAD_URL = $UPLOAD_URL" + FTPES_OPTIONS="--ssl-reqd" + verbose "Executing: $CURL_BIN -#T ${FINAL_ARCHIVE_NAME} ${FTPES_OPTIONS} ${UPLOAD_URL}/${FINAL_ARCHIVE_FILE}" + if (( $VERBOSE )); then + $CURL_BIN -#T ${FINAL_ARCHIVE_NAME} ${FTPES_OPTIONS} ${UPLOAD_URL}/${FINAL_ARCHIVE_FILE} + ERRNO=$? + else + $CURL_BIN -#T ${FINAL_ARCHIVE_NAME} ${FTPES_OPTIONS} ${UPLOAD_URL}/${FINAL_ARCHIVE_FILE} >> $GETAPPCORE_LOG 2>&1 + ERRNO=$? + fi + ;; + esac echo - verbose "Executing: $CURL_BIN -sT $FINAL_ARCHIVE_NAME $UPLOAD_URL/$($BASENAME_BIN $FINAL_ARCHIVE_NAME)" - $CURL_BIN -sT $FINAL_ARCHIVE_NAME $UPLOAD_URL/$($BASENAME_BIN $FINAL_ARCHIVE_NAME) - if [ "$?" = "1" ]; then - echo " Upload failed! Please upload the archive manually." - else - echo " Upload successful!" - echo - echo " Please contact Novell Technical Services for assistance analyzing this core." - echo " If you already have an open Service Request, please update the SR with the" - echo " name of the file which has just been uploaded:" + if (( $ERRNO )); then + echo "Upload status... FAILED" echo - echo " $($BASENAME_BIN $FINAL_ARCHIVE_NAME)" + echo "Please upload the archive manually." + else + echo "Upload status... Success!" echo + echo " Please contact SUSE Technical Support for assistance analyzing this core." + echo " If you already have an open Service Request, please update it with the" + echo " archive name below." fi + echo } @@ -371,11 +496,12 @@ # main () # # Main script function # # --------------------------------------------------------- # -while getopts b:hr:uv opt +while getopts b:hr:ufvj: opt do case $opt in \?) show_help + cleanup exit 0 ;; b) @@ -386,12 +512,21 @@ ;; u) UPLOAD=1 + UPLOAD_TARGET="${DEFAULT_HTTPS}" + ;; + f) + UPLOAD=1 + UPLOAD_TARGET="${DEFAULT_FTPES}" ;; v) VERBOSE=1 ;; + j) + JOURNAL_PID=$OPTARG + ;; h) show_help + cleanup exit 0 ;; esac @@ -399,33 +534,64 @@ eval COREFILE=\$$OPTIND CMDLINE="$0 $*" +[[ $JOURNAL_PID ]] && COREFILE_STR="PID $JOURNAL_PID" || COREFILE_STR=${COREFILE} +get_server_release +show_title check_binaries -if [ ! -z $COREFILE -a -e $COREFILE ]; then - get_server_release - show_title +# Check for valid configuration file +if [[ -s ${GETAPPCORE_CONF} ]]; then + echo "Local configuration file... ${GETAPPCORE_CONF}" + if [[ -x $DOS2UNIX_BIN ]]; then + $DOS2UNIX_BIN $GETAPPCORE_CONF &>/dev/null + else + $SED_BIN -i -e 's/\r//g' $GETAPPCORE_CONF &>/dev/null + fi + . ${GETAPPCORE_CONF} +else + echo "Local configuration file... None" +fi +[[ -d ${ARCHIVE_PATH} ]] || mkdir -p ${ARCHIVE_PATH} + +[[ $JOURNAL_PID ]] && get_journal_coredump $JOURNAL_PID + +if [ ! -z $COREFILE -a -e $COREFILE ]; then + echo -n "Validating core file... " + if [[ -f $COREFILE ]]; then + echo Done + verbose "$(file $COREFILE)" + else + echo Invalid + echo " + $(file $COREFILE)" + cleanup + exit -5 + fi COREFILE=$($READLINK_BIN -f $COREFILE) + echo -n "Validating binary file... " + verbose '' if [ -z $COREFILE_BIN ]; then - echo -n "Binary file not provided, trying to determine source binary using gdb... " + verbose "Extracting binary file from core file" COREFILE_BIN=`$GDB_BIN --core=$COREFILE --batch 2>/dev/null | $GREP_BIN "generated" | $CUT_BIN -d '\`' -f 2| $CUT_BIN -d " " -f 1 | $CUT_BIN -d "'" -f 1 | $CUT_BIN -d ":" -f 1` if [ ! -z "$COREFILE_BIN" ]; then COREFILE_BIN=`$WHICH_BIN $COREFILE_BIN 2>/dev/null` fi - else - echo -n "Binary file manually provided, confirming file type... " + verbose "Extracted file: $COREFILE_BIN" fi - if ! [ -x $COREFILE_BIN ]; then + if ! [[ -x $COREFILE_BIN ]]; then echo echo "Unable to determine the binary which generated $COREFILE!" echo " ($COREFILE_BIN does not seem to be an executable!)" echo "Please manually determine the binary, and execute the script again" echo "using the '-b [CORE_BINARY] parameter." + echo + cleanup exit -1 else COREFILE_BIN=$($READLINK_BIN -f $COREFILE_BIN) - echo "Done ($COREFILE_BIN)" + verbose "$(file $COREFILE_BIN)" + echo "Done" # Build full name of directory and tarball create_filename @@ -435,11 +601,13 @@ CHKBIN_RESULT=$($CAT_BIN $CHKBIN_LOG | $GREP_BIN STATUS | $AWK_BIN '{print $2}') echo "Done" - echo "Crashing binary: $COREFILE_BIN chkbin result: $CHKBIN_RESULT" >> $GETAPPCORE_LOG + echo "Crashing binary: $COREFILE_BIN chkbin result: $CHKBIN_RESULT" >> $GETAPPCORE_LOG 2>&1 echo >> $GETAPPCORE_LOG + verbose "Crashing binary: $COREFILE_BIN" + verbose "Chkbin result: $CHKBIN_RESULT" # Use GDB to build list of required libraries - echo -n "Building list of required libraries with gdb... " + echo -n "Building list of required libraries... " echo "Libraries:" >> $GETAPPCORE_LOG echo "----------" >> $GETAPPCORE_LOG # Create temporary GDB command file @@ -460,10 +628,12 @@ echo "Done" echo >> $GETAPPCORE_LOG - echo "Building list of debuginfo RPMs... " + (( $VERBOSE )) && echo "Building list of debuginfo RPMs... " || echo -n "Building list of debuginfo RPMs... " echo "DEBUG RPMs:" >> $GETAPPCORE_LOG echo "-----------" >> $GETAPPCORE_LOG - echo + verbose "" + GUESSED=0 + GUESSED_BEFORE=0 while read LIBRARY_RPM do if [ "${LIBRARY_RPM:(-4)}" = ".rpm" ]; then @@ -474,6 +644,7 @@ # If so, building the debuginfo name is easy RPM_VER="-${RPM_INFO[2]}.*.rpm" SRC_NAME=${RPM_INFO[1]/$RPM_VER/} + verbose "${SRC_NAME} =? ${RPM_INFO[1]}" if [ "${#SRC_NAME}" -lt "${#RPM_INFO[1]}" ]; then DEBUG_RPM=$SRC_NAME-debuginfo-${RPM_INFO[2]}.${RPM_INFO[3]}.rpm else @@ -488,10 +659,12 @@ else DEBUG_RPM="${RPM_INFO[0]}-debuginfo-${RPM_INFO[2]}.${RPM_INFO[3]}.rpm" fi - echo " $LIBRARY_RPM --> $DEBUG_RPM" - if [ "$GUESSED" = "1" ]; then - echo " -- ${RPM_INFO[0]}: RPM and SRC version did not match. Debuginfo name may not be reliable! --" + verbose " $LIBRARY_RPM --> $DEBUG_RPM" + if (( $GUESSED )); then + (( $GUESSED_BEFORE )) || echo Warning + echo " + ${RPM_INFO[0]}: RPM and SRC version did not match. Debuginfo name may not be reliable! --" GUESSED=0 + GUESSED_BEFORE=1 fi # Build list of debug RPMs DBG_LIST="$DBG_LIST $DEBUG_RPM" @@ -499,8 +672,12 @@ done < $GETAPPCORE_LOG # Parse list of debug RPMs and add to log echo $DBG_LIST | $TR_BIN " " \\n | $SORT_BIN | $UNIQ_BIN >> $GETAPPCORE_LOG - echo - echo " ... Done" + if (( $VERBOSE )); then + echo + echo " ... Done" + else + echo " Done" + fi echo >> $GETAPPCORE_LOG # Build list of libraries and library directories for gdb @@ -531,30 +708,42 @@ done echo "Done" - # Move chkbin and getappcore log to $TMP_DIR to be included in tar archive + # Move chkbin and getappcore log to GETAPPCORE_TMP_DIR to be included in tar archive + if [[ -s $GETAPPCORE_CONF ]]; then + echo "${GETAPPCORE_CONF}:" >> $GETAPPCORE_LOG + echo "-----------" >> $GETAPPCORE_LOG + $CAT_BIN ${GETAPPCORE_CONF} >> $GETAPPCORE_LOG + echo >> $GETAPPCORE_LOG + fi $MV_BIN $CHKBIN_LOG $GETAPPCORE_LOG $LOG_DIR CHKBIN_LOG=$LOG_DIR/$(basename $CHKBIN_LOG) GETAPPCORE_LOG=$LOG_DIR/$(basename $GETAPPCORE_LOG) - echo -n "Creating gdb startup files... " + (( $VERBOSE )) && { echo "Creating gdb startup files... "; echo; } || echo -n "Creating gdb startup files... " create_opencoreini create_opencoresh - echo "Done" - create_symlinks + (( $VERBOSE )) && { echo " ... Done"; echo; } || echo "Done" + create_archive + (( $UPLOAD )) && upload_archive + echo | $TEE_BIN -a $GETAPPCORE_LOG + echo "Affected Binary: ${COREFILE_BIN}" | $TEE_BIN -a $GETAPPCORE_LOG + echo "Coredump File: ${COREFILE}" | $TEE_BIN -a $GETAPPCORE_LOG + echo "Archive Name: ${FINAL_ARCHIVE_NAME}" | $TEE_BIN -a $GETAPPCORE_LOG + (( $UPLOAD )) && echo "Upload URL: ${UPLOAD_URL}" | $TEE_BIN -a $GETAPPCORE_LOG cleanup - if [ $UPLOAD -eq '1' ]; then - upload_archive - fi fi else if [ -z $COREFILE ]; then - echo "Required parameter COREFILE missing!" + echo "Required parameter -j PID or COREFILE missing!" else - echo "Missing valid corefile!" + echo + echo "ERROR: Missing valid corefile!" + echo fi + cleanup show_help exit -1 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/bin/supportconfig new/supportutils-3.1.9/bin/supportconfig --- old/supportutils-3.1.7/bin/supportconfig 2020-02-26 19:41:07.534536804 +0100 +++ new/supportutils-3.1.9/bin/supportconfig 2020-03-12 22:50:28.489565131 +0100 @@ -1,7 +1,7 @@ #!/bin/bash -SVER='3.1.7-1' -SDATE='2020 02 26' +SVER='3.1.8-2' +SDATE='2020 03 12' ############################################################################## # supportconfig - Gathers system troubleshooting information for SUSE Support @@ -798,6 +798,7 @@ log_cmd $OF 'date' log_cmd $OF 'ls -lA --time-style=long-iso /etc/products.d/' log_cmd $OF 'zypper locks' + log_cmd $OF 'zypper patterns --installed-only' for CMDOPT in services 'repos -d' patch-check patches list-patches list-updates products '--xml products' 'packages --orphaned' do if [ $TIMEOUT -ge 10 ]; then @@ -1508,6 +1509,34 @@ fi fi + PPC_DIR="${LOG}/ppc64" + mkdir -p $PPC_DIR + case $platform in + "pSeries") + log_entry $OF command "cp /proc/ppc64/eeh /proc/ppc64/lparcfg /proc/ppc64/systemcfg /var/log/platform /dev/nvram $PPC_DIR" + cp /proc/ppc64/eeh /proc/ppc64/lparcfg /proc/ppc64/systemcfg /var/log/platform /dev/nvram $PPC_DIR 2>/dev/null + + if rpm -q rsct.core.utils &>/dev/null; then + CTSNAP_DIR="${PPC_DIR}/ctsnap" + mkdir -p $CTSNAP_DIR + log_cmd $OF "ctsnap -xrunrpttr -d $CTSNAP_DIR" + fi + + if [[ -f /var/log/drmgr ]]; then + log_entry $OF command "cp /var/log/drmgr $PPC_DIR" + cp /var/log/drmgr $PPC_DIR 2>/dev/null + fi + if [[ -f /var/log/drmgr.0 ]]; then + log_entry $OF command "cp /var/log/drmgr.0 $PPC_DIR" + cp /var/log/drmgr.0 $PPC_DIR 2>/dev/null + fi + ;; + "PowerNV") + log_entry $OF command "cp /proc/ppc64/eeh /proc/ppc64/systemcfg /proc/ppc64/topology_updates /sys/firmware/opal/msglog /var/log/opal-elog /dev/nvram $PPC_DIR" + cp /proc/ppc64/eeh /proc/ppc64/systemcfg /proc/ppc64/topology_updates /sys/firmware/opal/msglog /var/log/opal-elog /dev/nvram $PPC_DIR 2>/dev/null + ;; + esac + if [[ -d /proc/device-tree/ ]]; then SAVE_DIR="${PPC_DIR}/device-tree" mkdir -p $SAVE_DIR @@ -2212,8 +2241,9 @@ fi fi fi + ANALYZEVMCORE_PREFIX=$ARCHIVE_PREFIX - for i in $(ls -1 /var/log/nts_analyzevmcore* 2>/dev/null) + for i in $(ls -1 /var/log/${ANALYZEVMCORE_PREFIX}analyzevmcore* 2>/dev/null) do log_write $OF "#==[ Kernel Core Logs ]==========================#" log_write $OF "# $i" @@ -2314,7 +2344,9 @@ log_cmd $OF "file $FILES" fi - for i in $(ls -1 /var/log/nts_chkbin* 2>/dev/null) + CHKBIN_PREFIX=$ARCHIVE_PREFIX + + for i in $(ls -1 /var/log/${CHKBIN_PREFIX}chkbin* 2>/dev/null) do log_write $OF "#==[ chkbin Logs ]==========================#" log_write $OF "# $i" @@ -4009,7 +4041,7 @@ q) VAR_OPTION_UNIQUE_FILE=1 ;; r) CONTACT_SRNUM=$OPTARG; if valid_srnum; then - BASE="nts_%r_%B" + BASE="${ARCHIVE_PREFIX}%r_%B" else clear; title echo "ERROR: Invalid SR Number, -${TMPOPT} $CONTACT_SRNUM" @@ -4044,7 +4076,7 @@ # Add custom tar ball name element if [ -n "$VAR_OPTION_CUSTOM_ARCH" ]; then TMP=$(echo "$VAR_OPTION_CUSTOM_ARCH" | sed -e 's/ /_/g') - BASE="nts_${TMP}" + BASE="${ARCHIVE_PREFIX}${TMP}" fi if (( VAR_OPTION_UNIQUE_FILE )); then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/bin/supportconfig.rc new/supportutils-3.1.9/bin/supportconfig.rc --- old/supportutils-3.1.7/bin/supportconfig.rc 2020-02-26 18:54:42.870968242 +0100 +++ new/supportutils-3.1.9/bin/supportconfig.rc 2020-03-12 21:41:27.371403787 +0100 @@ -115,6 +115,7 @@ SC_RESOURCE_FILE="${LIB_DIR}/resources/supportconfig.rc" XPLUGIN_DIR="${LIB_DIR}/plugins" CURRENT_SCRIPT=$(basename $0) +ARCHIVE_PREFIX='scc_' unset CONTACT_SRNUM UPLOAD_TARBALL=0 CSFILE=${CURRENT_SCRIPT}.txt @@ -139,7 +140,7 @@ SC_DATE=$(date +"%y%m%d") # %d SC_TIME=$(date +"%H%M") # %t test -x /usr/bin/uuidgen && SC_UID="$(uuidgen 2>/dev/null)" || SC_UID="$(mktemp -u XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)" # %u -BASE="nts_%B" +BASE="${ARCHIVE_PREFIX}%B" ARCH=$(uname -i) SAVE_LOGS_ONLY=0 USE_SAVED_LOGS_ONLY=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/man/analyzevmcore.8 new/supportutils-3.1.9/man/analyzevmcore.8 --- old/supportutils-3.1.7/man/analyzevmcore.8 2019-10-14 15:06:13.028616690 +0200 +++ new/supportutils-3.1.9/man/analyzevmcore.8 2020-03-12 23:00:17.271450248 +0100 @@ -1,13 +1,13 @@ -.TH ANALYZEVMCORE "8" "20 Mar 2014" "supportutils" "Support Utilities Manual" +.TH ANALYZEVMCORE "8" "12 Mar 2020" "supportutils" "Support Utilities Manual" .SH NAME analyzevmcore - Creates an analysis file for kernel cores .SH SYNOPSIS analyzevmcore [OPTIONS] .SH DESCRIPTION -Creates an analysis file (nts_analyzevmcore_<CORE_DATE>.txt) for all +Creates an analysis file (scc_analyzevmcore_<CORE_DATE>.txt) for all kernel cores found on the system. This analysis file is automatically copied to /var/log, and included in supportconfig's crash.txt file for further -analysis by SUSE and Novell Technical Services. +analysis by Technical Support Services. In order to create the analysis, this script requires the kernel (vmlinux-*) and the debuginfo kernel (vmlinux-*.debug) which match the kernel version which @@ -61,11 +61,11 @@ -d [kernel-*-debuginfo.rpm] -The correct kernel-*-debuginfo RPM can be downloaded through the Novell FileFinder, -or through the patch database (using valid update credentials) at the following urls: +The correct kernel-*-debuginfo RPM can be downloaded through the SUSE Customer Center, +at the following urls: - FileFinder: \fBhttp://download.novell.com/patch/finder\fP - Patch Database: \fBhttp://download.novell.com/patch/psdb\fP + Package Database: \fBhttps://scc.suse.com/packages\fP + Patch Database: \fBhttps://scc.suse.com/patches\fP .PP .RE .RE @@ -88,8 +88,13 @@ .TP \fB\-r\fR Remove and recreate existing analysis files. -.SH AUTHOR +.SH AUTHORS +.RS Mike Latimer <[email protected]> +.RE +.RS +Jason Record <[email protected]> +.RE .SH COPYRIGHT 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/man/chkbin.8 new/supportutils-3.1.9/man/chkbin.8 --- old/supportutils-3.1.7/man/chkbin.8 2019-10-14 15:06:13.028616690 +0200 +++ new/supportutils-3.1.9/man/chkbin.8 2020-03-12 23:07:19.271693603 +0100 @@ -1,4 +1,4 @@ -.TH CHKBIN "8" "20 Mar 2014" "supportutils" "Support Utilities Manual" +.TH CHKBIN "8" "12 Mar 2020" "supportutils" "Support Utilities Manual" .SH NAME chkbin - Binary Check Tool .SH SYNOPSIS @@ -6,7 +6,7 @@ .SH DESCRIPTION Checks the RPM package owner of the file being checked. It also checks the RPM package owner for each of the file's shared library dependencies. It then runs an rpm verify on each of the unique RPM packages associated with the file and it's shared library dependencies. -This tool will create a text file in the default /var/log directory. Supportconfig will gather chkbin log files if present. Please attach the chkbin log files or the supportconfig with chkbin files to your open service request, using the following URL: https://secure\-support.novell.com/eService_enu +This tool will create a text file in the default /var/log directory. Supportconfig will gather chkbin log files if present. Please attach the chkbin log files or the supportconfig with chkbin files to your open service request. If you cannot attach the file to the service request, then email it to the support engineer assigned to your service request. .SH OPTIONS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/man/getappcore.8 new/supportutils-3.1.9/man/getappcore.8 --- old/supportutils-3.1.7/man/getappcore.8 2019-10-14 15:06:13.028616690 +0200 +++ new/supportutils-3.1.9/man/getappcore.8 2020-03-10 15:35:27.669158720 +0100 @@ -1,34 +1,55 @@ -.TH GETAPPCORE "8" "20 Mar 2014" "supportutils" "Support Utilities Manual" +.TH GETAPPCORE "8" "10 Mar 2020" "supportutils" "Support Utilities Manual" .SH NAME getappcore - Get Application Core File .SH SYNOPSIS -getappcore [OPTIONS] </path/to/core/file> +getappcore [OPTIONS] < -j PID | /path/to/core/file > .SH DESCRIPTION Creates an archive containing an application core, and all files -required to analyze the application core - including the binary which -created the core, and all required shared libraries. Included in the -archive is a logfile containing RPM version information for further -investigation by SUSE. +required to analyze it - including the binary which created the core, +and all required shared libraries. Included in the archive is a logfile +containing RPM version information for further investigation by SUSE. +You must specify the filename or the journal PID of the application core +you want to submit. + + .SH OPTIONS .TP \fB\-h\fR -This screen +The help screen .TP \fB\-b\fR \fIpath\fR Path to the binary which generated the application core file .TP \fB\-r\fR \fIsrnum\fR -Novell Service Request number associated with this issue +SUSE Service Request number associated with this issue +.TP +\fB\-j\fR \fIPID\fR +Specifies a coredump PID number from the journal to extract, instead of specifying a core file on the file system .TP \fB\-u\fR -Automatically uploads archive to ftp.novell.com:/incoming +Automatically uploads archive to the SUSE FTP server using HTTPS +.TP +\fB\-f\fR +Automatically uploads archive to the SUSE FTP server using FTPES .TP \fB\-v\fR Enable verbose messages .SH EXAMPLES -.B getappcore -ur 12345678901 -b /bin/rpm /core.15832 -.SH AUTHOR +.RE +.RS +.B getappcore -ur 00123456 -b /bin/rpm /core.15832 +.RE +.RS +.B getappcore -ur 00123456 -b /bin/rpm -j 2344 +.RE +.SH AUTHORS +.RE +.RS +Jason Record <[email protected]> +.RE +.RS Mike Latimer <[email protected]> +.RE .SH COPYRIGHT 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/man/getappcore.conf.5 new/supportutils-3.1.9/man/getappcore.conf.5 --- old/supportutils-3.1.7/man/getappcore.conf.5 1970-01-01 01:00:00.000000000 +0100 +++ new/supportutils-3.1.9/man/getappcore.conf.5 2020-03-10 00:34:22.940822477 +0100 @@ -0,0 +1,67 @@ +.TH GETAPPCORE.CONF 5 "09 Mar 2020" "supportutils" "Support Utilities Manual" +.SH NAME +/etc/getappcore.conf \- +.BR getappcore (8) +configuration file. + +.SH DESCRIPTION +.B /etc/getappcore.conf +is a text file. +.B getappcore +sources it if available. It must follow +.BR bash (1) +guidelines. + +Lines generally follow the form: +.RS +.I VARIABLE="VALUE" +.RE + +Unknown +.I VARIABLE +values are considered an error. + +The defined variables are: + +.TP +\fBVERBOSE\fR +Turns verbose output on and off. Acceptable values are 0 and 1, +.B 0 +being the default. + +.TP +\fBUPLOAD\fR +Determines if the application core archive will be uploaded to the +.I UPLOAD_TARGET. +Acceptable values are 0 and 1, +.B 0 +being the default. + +.TP +\fBUPLOAD_TARGET\fR +The destination URL where the application core archive will be uploaded. The default is the North American SUSE FTP server using HTTPS. If you set +.I UPLOAD_TARGET, +the -j and -f will only use the value you set. You can use the European SUSE FTP server by setting one of the following: + +.RS +UPLOAD_TARGET=${SUSE_UPLOAD_EMEA_HTTPS} +.RE +.RS +UPLOAD_TARGET=${SUSE_UPLOAD_EMEA_FTPES} +.RE + +.TP +\fBARCHIVE_PATH\fR +The location where the application core archive will be created. The default is +.B /var/log + +.PD +.SH REPORTING BUGS +Please submit bug fixes or comments via: +.B +http://en.opensuse.org/Supportutils#Reporting_Bugs +.SH AUTHOR +Jason Record <[email protected]> +.SH SEE ALSO +.BR getappcore (8) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/man/supportconfig.8 new/supportutils-3.1.9/man/supportconfig.8 --- old/supportutils-3.1.7/man/supportconfig.8 2019-10-14 15:06:13.028616690 +0200 +++ new/supportutils-3.1.9/man/supportconfig.8 2020-03-12 23:06:15.155847415 +0100 @@ -1,4 +1,4 @@ -.TH SUPPORTCONFIG 8 "26 Apr 2019" "supportutils" "Support Utilities Manual" +.TH SUPPORTCONFIG 8 "12 Mar 2020" "supportutils" "Support Utilities Manual" .SH NAME supportconfig - Gathers system troubleshooting information .SH SYNOPSIS @@ -27,7 +27,7 @@ Activates all supportconfig functions with additional logging and full rpm verification. .TP \fB\-B\fR \fIstring\fR -Includes the string in the tar ball filename in the format nts_<string>. See \fBsupportconfig.conf\fR(5) under VAR_OPTION_CUSTOM_ARCH for string qualifiers. +Includes the string in the tar ball filename in the format scc_<string>. See \fBsupportconfig.conf\fR(5) under VAR_OPTION_CUSTOM_ARCH for string qualifiers. .TP \fB\-C\fR Creates a new default /etc/supportconfig.conf @@ -173,7 +173,7 @@ Include full SLP service lists .TP \fB\-t\fR \fIdirectory\fR -Target directory. Just save log files here, do not create tarball. Uses the newest nts_* directory found. +Target directory. Just save log files here, do not create tarball. .TP \fB\-u\fR Uploads the supportconfig tar ball to the specified VAR_OPTION_UPLOAD_TARGET. See diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/man/supportconfig.conf.5 new/supportutils-3.1.9/man/supportconfig.conf.5 --- old/supportutils-3.1.7/man/supportconfig.conf.5 2020-02-26 18:54:42.870968242 +0100 +++ new/supportutils-3.1.9/man/supportconfig.conf.5 2020-03-12 23:09:12.308290740 +0100 @@ -1,7 +1,7 @@ -.TH SUPPORTCONFIG.CONF 5 "21 Nov 2019" "supportutils" "Support Utilities Manual" +.TH SUPPORTCONFIG.CONF 5 "12 Mar 2020" "supportutils" "Support Utilities Manual" .SH NAME supportconfig.conf \- -.BR supportconfig (1) +.BR supportconfig (8) configuration file. .SH ENVIRONMENT .I SC_CONF @@ -242,7 +242,7 @@ Contact's company terminal identifier to include in the basic-environment.txt \fB\-M\fR (Not Set) .TP VAR_OPTION_CUSTOM_ARCH -Includes the string to create a custom tar ball filename in the format nts_<string> \fB\-B\fR (Not Set) +Includes the string to create a custom tar ball filename in the format scc_<string> \fB\-B\fR (Not Set) .RS .RE @@ -283,22 +283,22 @@ .B Examples: .RE .RS -The default supportconfig file format \fBnts_%B\fR or \fBnts_%s_%d_%t\fR yields "nts_hostname_100326_1105.tbz" +The default supportconfig file format \fBscc_%B\fR or \fBscc_%s_%d_%t\fR yields "scc_hostname_100326_1105.tbz" .RE .RS -\fBsupportconfig \-B "before problem %s"\fR yields "nts_before_problem_hostname.tbz" +\fBsupportconfig \-B "before problem %s"\fR yields "scc_before_problem_hostname.tbz" .RE .RS -\fBsupportconfig \-B "testcase 1 %d-%t"\fR yields "nts_testcase_1_100326-1105.tbz" +\fBsupportconfig \-B "testcase 1 %d-%t"\fR yields "scc_testcase_1_100326-1105.tbz" .RE .RS -\fBsupportconfig \-qB "testcase %d %t"\fR yields "nts_testcase_100326_1105_21a17f8c-13c2-44ff-b0ef-29b7fa7d91c0.tbz" +\fBsupportconfig \-qB "testcase %d %t"\fR yields "scc_testcase_100326_1105_21a17f8c-13c2-44ff-b0ef-29b7fa7d91c0.tbz" .RE .RS -\fBsupportconfig \-B "testcase %d %t %u"\fR yields "nts_testcase_100326_1105_21a17f8c-13c2-44ff-b0ef-29b7fa7d91c0.tbz" +\fBsupportconfig \-B "testcase %d %t %u"\fR yields "scc_testcase_100326_1105_21a17f8c-13c2-44ff-b0ef-29b7fa7d91c0.tbz" .RE .RS -\fBsupportconfig \-B "%r bad" -r 12345678901\fR yields "nts_SR12345678901_bad.tbz" +\fBsupportconfig \-B "%r bad" -r 12345678901\fR yields "scc_SR12345678901_bad.tbz" .RE .TP VAR_OPTION_EXHASTIVE_MEM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/spec/supportutils.changes new/supportutils-3.1.9/spec/supportutils.changes --- old/supportutils-3.1.7/spec/supportutils.changes 2020-02-26 19:42:38.543992112 +0100 +++ new/supportutils-3.1.9/spec/supportutils.changes 2020-03-13 21:45:54.885049557 +0100 @@ -1,5 +1,28 @@ ------------------------------------------------------------------- -Wed Feb 26 18:41:57 UTC 2020 - [email protected] +Fri Mar 13 20:45:16 UTC 2020 - [email protected] + +- Addition to version 3.1.9 + + Changes affecting getappcore + - Added core file validation (bsc#1166126) + - Added -j <PID> to extract core from systemd journal + - Capture coredumptctl info in getappcore.log + + Changed filename prefixes from nts_ to scc_ (SLE-8702, SLE-6762) + - The new prefix references SUSE Customer Center + +------------------------------------------------------------------- +Tue Mar 3 14:22:12 UTC 2020 - [email protected] + +- Addition to version 3.1.8 + + Changes affecting getappcore + - Added -u for HTTPS and -f for FTPES uploads to SUSE FTP servers + - Replaced Novell with SUSE FTP servers (bsc#1165475) + - Uses /etc/getappcore.conf if present + + Changes affecting supportconfig + - Added missed Power collection per bsc#1162539 + - Added zypper patterns output to updates.txt #66 + +------------------------------------------------------------------- +Mon Mar 2 16:12:12 UTC 2020 - [email protected] - Addition to version 3.1.7 + exclude /proc/pagetypeinfo as it can be an expensive operation on some systems (bsc#1162357) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supportutils-3.1.7/spec/supportutils.spec new/supportutils-3.1.9/spec/supportutils.spec --- old/supportutils-3.1.7/spec/supportutils.spec 2020-02-26 19:42:40.531936778 +0100 +++ new/supportutils-3.1.9/spec/supportutils.spec 2020-03-09 21:05:23.787580472 +0100 @@ -19,7 +19,7 @@ %define support_libdir /usr/lib/supportconfig Name: supportutils -Version: 3.1.7 +Version: 3.1.9 Release: 0 Summary: Support Troubleshooting Tools License: GPL-2.0
