Posted by hmontoliu Wed 28th Feb 2007 15:04 - Syntax is Bash - 54 views
Download | New Post | Modify | Hide line numbers
Download | New Post | Modify | Hide line numbers
-
-
# TODO BLQ-0 (bug_report_lib.sh) VARIABLES GLOBALES
-
BUGSQUAD_D=~/bugsquad_dir/
-
LAUNCHPAD_BUG_URL="https://launchpad.net/distros/ubuntu/+source/ubiquity/+bug/" # >bugnum
-
TMP_D=${BUGSQUAD_D}/tmp/
-
CWD=$TMP_D
-
-
-
bug_report_extract_crash_url () {
-
# Extrae la URL al crash_report(s) a partir del número de bug.
-
# Usage: -> bug_report_extract_crash_url "$BUGNUMBER"
-
# Input args:
-
local BUGNUMBER="$1" # numero de bug en Launchpad
-
# Output: Crash Report(s) URL(s)
-
# Returns: 0 always
-
# Global Vars: $LAUNCHPAD_BUG_URL >> url de los informes de error
-
local LAUNCHPADBUGURL=$LAUNCHPAD_BUG_URL
-
local CRASH_REPORT_URL # Output: URL1 URL2 URL3
-
-
-
CRASH_REPORT_URL="$(wget -q -O - "$LAUNCHPAD_BUG_URL/$BUGNUMBER" | sed -n '/">/,/<\div>/ {s@.*\(http://librarian.launchpad.net/.[^" ]*crash\)\".*@\1 @gp}')"echo $CRASH_REPORT_URLreturn 0;}bug_report_dwl_crash_file () {# Baja el fichero "Crash Report" desde su URL.# Usage: -> bug_report_dwl_crash_file "$CRASH_URL" "$DEST"# Input args:local CRASH_URL="$1" # Crash report file, URL, or - (stdin)local DEST="$2" # Destination (dir, filename, or - (stdout))# Output: None# Returns: 0 always# Distinguir entre nombre de fichero destino y directorioif [ -d "$DEST" ]; thencd "$DEST"; wget "$CRASH_URL"else# curl ?wget -O "$DEST" "$CRASH_URL"fireturn 0;}bug_report_dwl_short_crash_file () {# Igual que bug_report_dwl_crash_file pero corta la descarga al llegar al# coredump.# Usage: -> bug_report_dwl_short_crash_file "$CRASH_URL" "$DEST"# Input args:local CRASH_URL="$1" #local DEST="$2" ## Output: None# Returns: 0 alwayslocal TMPFILE WGETPIDTMPFILE=$(tempfile -p crashtmp)WGETPIDFILE=$(tempfile -s pid)# matamos a wget cuando empieze la descarga del coredump.while :; do grep -q "Uname:" $TMPFILE && kill $(cat $WGETPIDFILE) && exit; sleep 1; done &wget -O $TMPFILE $CRASH_URL & echo $! > $WGETPIDFILEwait# Salida a $DESTif [ "$DEST" == "-" ]; thensed -n '1,/^Uname:/ {p}' $TMPFILEelsesed -n '1,/^Uname:/ {p}' $TMPFILE > "$DEST"fi# no es necesario 'ver man tmpfile', pero por si acaso:[ -f "$TMPFILE" ] && rm -f "$TMPFILE"[ -f "$WGETPIDFILE" ] && rm -f "$WGETPIDFILE"return 0;}bug_report_unpack () {# Crea el directorio de destino y desempaqueta el fichero crash_file.# Realmente no hay que hacer nada, apport-unpack se encarga de crear el# directorio de destino.# TODO: handle compressed files# Usage: -> bug_report_unpack "$CRASH_FILE" "$DEST_CRASH_REPORT_DIR"# -> bug_report_unpack "-" "$DEST_CRASH_REPORT_DIR" # STDIN# Input args:local CRASH_FILE="$1" # Crash report file; "-" para stdin ;local DEST_CRASH_REPORT_DIR="$2" # Dest dir to unpack crash report file# Output: None# Returns: 0 always# wget -O - "${CRASH_URL}" | apport-unpack - $CRASHDIRapport-unpack $CRASH_FILE $DEST_CRASH_REPORT_DIRreturn 0;}bug_report_summary () {# Crea la cabecera del informe del error# Usage: -> bug_report_summary "$CRASH_REPORT_DIR"# Input args:local CRASH_REPORT_DIR="$1" # Full path to bug report directory# Output: Bug Report Summary.# Returns: 0 alwayslocal PACKAGE PACKAGE_VER DISTRO_RELEASE SOURCE_PACKAGEPACKAGE="$(cat $CRASH_REPORT_DIR/Package)"eval $(awk '{print "PACKAGE="$1" PACKAGE_VER="$2}' $CRASH_REPORT_DIR/Package)DISTRO_RELEASE="$(cat $CRASH_REPORT_DIR/DistroRelease)"SOURCE_PACKAGE="$(cat $CRASH_REPORT_DIR/SourcePackage)"cat <<- EOF[Binary Package Hint: $PACKAGE]From the Attached Crash Report:Distro Release: $DISTRO_RELEASEPackage (version): $PACKAGE ($PACKAGE_VER)Source Package: $SOURCE_PACKAGEOriginal Description:EOFreturn 0;}
PermaLink to this entry https://pastebin.co.uk/11166
Posted by hmontoliu Wed 28th Feb 2007 15:04 - Syntax is Bash - 54 views
Download | New Post | Modify | Hide line numbers
Download | New Post | Modify | Hide line numbers
Comments: 0