X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=bin%2Fgdbunpack;h=6f8a60f075368ac7129bcca1f0943d11a0a57531;hp=ea60ac26010870e5deb01277285bbb6f765647b7;hb=e0f54b4c0e257360604f16e326abd3b1779a3670;hpb=ab1c09bce5c096fa34f684f9ac1ebd918e3f974b diff --git a/bin/gdbunpack b/bin/gdbunpack index ea60ac2..6f8a60f 100755 --- a/bin/gdbunpack +++ b/bin/gdbunpack @@ -2,6 +2,8 @@ # $Id$ # Extract gdb.sum+gdb.log from the Fedora/Red Hat gdb rpm build log. +rc=0 + force=false if [ "$1" = "-f" ];then force=true @@ -26,6 +28,7 @@ for log in $args;do fi 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" + rc=1 continue fi if ($force || $clean) && test -d "$base";then @@ -36,26 +39,36 @@ for log in $args;do fi if ! mkdir "$base";then echo >&2 "Error <$log>: mkdir" - exit 1 + rc=1 + continue fi - if ! (cd "$base";uudecode) <"$log";then + if ! (cd "$base";sed -n '/^begin /,$p'|uudecode) <"$log";then echo >&2 "Error <$log>: uudecode" - exit 1 + rm -rf "$base" + rc=1 + continue fi if echo -n "$base"/*|grep ' ';then echo >&2 "Error <$log>: Too many files in: $base" - exit 1 + rm -rf "$base" + rc=1 + continue fi if ! (echo -n "$base"/*|grep -q '[.]tar[.]bz2$');then echo >&2 "Error <$log>: Invalid file:" "$base"/* - exit 1 + rm -rf "$base" + rc=1 + continue fi if ! (cd "$base";tar xjf *);then echo >&2 "Error <$log>: tar xjf" - exit 1 + rm -rf "$base" + rc=1 + continue fi rm -f "$base"/*.tar.bz2 chmod -x "$base"/* + perl -i -pe 's{\Q'"$HOME"'\E/.*?/build/[^/]*/}{}g' "$base"/* # if ! (echo "$base"/*|grep -q '^[^ ]*[.]log [^ ]*[.]sum$');then # echo >&2 "Error <$log>: Not two files .log+.sum:" "$base"/* # exit 1 @@ -63,4 +76,7 @@ for log in $args;do # mv -f "$base"/*.log "$base"/gdb.log # mv -f "$base"/*.sum "$base"/gdb.sum done -echo OK +if [ $rc -eq 0 ];then + echo OK +fi +exit $rc