#! /bin/sh # $Id$ # Extract gdb.sum+gdb.log from the Fedora/Red Hat gdb rpm build log. force=false if [ "$1" = "-f" ];then force=true shift fi clean=false if [ "$1" = "-c" ];then clean=true shift fi args="$*" if [ -z "$args" ];then args="`find -name "*.log"`" fi for log in $args;do base="${log%.log}" if [ "$base" = "$log" -o "$log" != "${log%/gdb.log}" -o "$log" = "gdb.log" ];then echo >&2 "file has no .log suffix or is gdb.log: $log" continue fi if ($force || $clean) && test -d "$base";then rm -rf "$base" fi if $clean;then continue fi if ! mkdir "$base";then echo >&2 "Error <$log>: mkdir" exit 1 fi if ! (cd "$base";uudecode) <"$log";then echo >&2 "Error <$log>: uudecode" exit 1 fi if echo -n "$base"/*|grep ' ';then echo >&2 "Error <$log>: Too many files in: $base" exit 1 fi if ! (echo -n "$base"/*|grep -q '[.]tar[.]bz2$');then echo >&2 "Error <$log>: Invalid file:" "$base"/* exit 1 fi if ! (cd "$base";tar xjf *);then echo >&2 "Error <$log>: tar xjf" exit 1 fi rm -f "$base"/*.tar.bz2 chmod -x "$base"/* # if ! (echo "$base"/*|grep -q '^[^ ]*[.]log [^ ]*[.]sum$');then # echo >&2 "Error <$log>: Not two files .log+.sum:" "$base"/* # exit 1 # fi # mv -f "$base"/*.log "$base"/gdb.log # mv -f "$base"/*.sum "$base"/gdb.sum done echo OK