Do not --enable-maintainer-mode for sourceware.org as it contains the
[nethome.git] / bin / gdbunpack
1 #! /bin/sh
2 # $Id$
3 # Extract gdb.sum+gdb.log from the Fedora/Red Hat gdb rpm build log.
4
5 force=false
6 if [ "$1" = "-f" ];then
7         force=true
8         shift
9 fi
10 clean=false
11 if [ "$1" = "-c" ];then
12         clean=true
13         shift
14 fi
15 args="$*"
16 if [ -z "$args" ];then
17         args="`find -name "*.log"`"
18 fi
19 for log in $args;do
20         base="${log%.log}"
21         if [ "$base" = "$log" -o "$log" != "${log%/gdb.log}" -o "$log" = "gdb.log" ];then
22                 echo >&2 "file has no .log suffix or is gdb.log: $log"
23                 continue
24         fi
25         if ($force || $clean) && test -d "$base";then
26                 rm -rf "$base"
27         fi
28         if $clean;then
29                 continue
30         fi
31         if ! mkdir "$base";then
32                 echo >&2 "Error <$log>: mkdir"
33                 exit 1
34         fi
35         if ! (cd "$base";uudecode) <"$log";then
36                 echo >&2 "Error <$log>: uudecode"
37                 exit 1
38         fi
39         if echo -n "$base"/*|grep ' ';then
40                 echo >&2 "Error <$log>: Too many files in: $base"
41                 exit 1
42         fi
43         if ! (echo -n "$base"/*|grep -q '[.]tar[.]bz2$');then
44                 echo >&2 "Error <$log>: Invalid file:" "$base"/*
45                 exit 1
46         fi
47         if ! (cd "$base";tar xjf *);then
48                 echo >&2 "Error <$log>: tar xjf"
49                 exit 1
50         fi
51         rm -f "$base"/*.tar.bz2
52         chmod -x "$base"/*
53 #       if ! (echo "$base"/*|grep -q '^[^ ]*[.]log [^ ]*[.]sum$');then
54 #               echo >&2 "Error <$log>: Not two files .log+.sum:" "$base"/*
55 #               exit 1
56 #       fi
57 #       mv -f "$base"/*.log "$base"/gdb.log
58 #       mv -f "$base"/*.sum "$base"/gdb.sum
59 done
60 echo OK