summaryrefslogtreecommitdiff
path: root/db-4.8.30/dist/s_recover
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
committerJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
commit54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch)
tree18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/dist/s_recover
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/dist/s_recover')
-rwxr-xr-xdb-4.8.30/dist/s_recover71
1 files changed, 71 insertions, 0 deletions
diff --git a/db-4.8.30/dist/s_recover b/db-4.8.30/dist/s_recover
new file mode 100755
index 0000000..593be29
--- /dev/null
+++ b/db-4.8.30/dist/s_recover
@@ -0,0 +1,71 @@
+#!/bin/sh -
+# $Id$
+#
+# Build the automatically generated logging/recovery files.
+
+header=/tmp/__db_a
+loglist=/tmp/__db_b
+print=/tmp/__db_c
+source=/tmp/__db_d
+template=/tmp/__db_e
+tmp=/tmp/__db_f
+
+trap 'rm -f /tmp/__db_[abcdef]; exit 1' 1 2 3 13 15
+trap 'rm -f /tmp/__db_[abcdef]; exit 0' 0
+
+DIR="db dbreg btree fileops hash qam txn"
+
+# Check to make sure we haven't duplicated a log record entry, and build
+# the list of log record types that the test suite uses.
+for i in $DIR; do
+ for f in ../$i/*.src; do
+ # Grab the PREFIX; there should only be one per file, and
+ # so it's okay to just take the first.
+ grep '^PREFIX' $f | sed q
+ egrep '^BEGIN[ ]|^IGNORED[ ]|^DEPRECATED[ ]' $f |
+ awk '{print $1 "\t" $2 "\t" $3 "\t" $4}'
+ done
+done > $loglist
+grep -v '^PREFIX' $loglist |
+ awk '{print $2 "\t" $3 "\t" $4}' | sort -n -k 3 | uniq -d -f 1 > $tmp
+[ -s $tmp ] && {
+ echo "DUPLICATE LOG VALUES:"
+ cat $tmp
+ rm -f $tmp
+ exit 1
+}
+f=../test/logtrack.list
+cmp $loglist $f > /dev/null 2>&1 ||
+ (echo "Building $f" && rm -f $f && cp $loglist $f && chmod 444 $f)
+
+# Build DB's recovery routines.
+for i in $DIR; do
+ for f in ../$i/*.src; do
+ subsystem=`basename $f .src`
+ awk -f gen_rec.awk \
+ -v header_file=$header \
+ -v print_file=$print\
+ -v source_file=$source \
+ -v template_file=$template < $f
+
+ f=../dbinc_auto/${subsystem}_auto.h
+ cmp $header $f > /dev/null 2>&1 ||
+ (echo "Building $f" &&
+ rm -f $f && cp $header $f && chmod 444 $f)
+ f=../$i/${subsystem}_auto.c
+ cmp $source $f > /dev/null 2>&1 ||
+ (echo "Building $f" &&
+ rm -f $f && cp $source $f && chmod 444 $f)
+ f=../$i/${subsystem}_autop.c
+ cmp $print $f > /dev/null 2>&1 ||
+ (echo "Building $f" &&
+ rm -f $f && cp $print $f && chmod 444 $f)
+ f=template/rec_${subsystem}
+ cmp $template $f > /dev/null 2>&1 ||
+ (echo "Building $f" &&
+ rm -f $f && cp $template $f && chmod 444 $f)
+ done
+done
+
+# Build the example application's recovery routines.
+(cd ../examples_c/ex_apprec && sh auto_rebuild)