summaryrefslogtreecommitdiffstats
path: root/debian/htdig/htdig-3.2.0b6/contrib/multidig/gen-collect
diff options
context:
space:
mode:
Diffstat (limited to 'debian/htdig/htdig-3.2.0b6/contrib/multidig/gen-collect')
-rw-r--r--debian/htdig/htdig-3.2.0b6/contrib/multidig/gen-collect99
1 files changed, 99 insertions, 0 deletions
diff --git a/debian/htdig/htdig-3.2.0b6/contrib/multidig/gen-collect b/debian/htdig/htdig-3.2.0b6/contrib/multidig/gen-collect
new file mode 100644
index 00000000..f75e08ad
--- /dev/null
+++ b/debian/htdig/htdig-3.2.0b6/contrib/multidig/gen-collect
@@ -0,0 +1,99 @@
+#!@BASH@
+
+#
+# gen-collect 1.1
+#
+# Copyright (c) 1998-1999 The ht://Dig Group
+# Distributed under the terms of the GNU General Public License (GPL)
+# version 2 or later.
+# for the ht://Dig search system http://www.htdig.org/
+# and the multidig script system http://www.htdig.org/contrib/scripts/
+#
+# Part of the "multidig script system"
+# a system of shell scripts and some modified conf files
+# that makes dealing with multiple databases easier for ht://Dig
+#
+# Syntax:
+# gen-collect [-v]
+#
+# Merges multiple databases into ``collected'' db
+# (This is done by multidig too, but this script lets you *just*
+# generate the collections.)
+#
+
+# This is useful for debugging info
+if [ "$1" = "-v" ]; then
+ verbose=-v
+fi
+
+# You may need to set the following:
+MULTIDIG_CONF=@CONFIG_DIR@/multidig.conf
+source $MULTIDIG_CONF
+
+# We may be called inside multidig, so we don't want to mess with the report.
+for collect in `cat $COLLECT_LIST`; do
+ # What's the conf file for this database?
+ CONF=$CONFIG_DIR/$collect.conf
+ echo Generating $collect at: `date`
+
+ # We want to replace the old .work files with the first database
+ # This ensures that we *only* get documents from the merged db
+ # and not old ones left around in our previous collected db
+ firstdb=`head -n 1 $DB_BASE/$collect/$collect.collect`
+ cp $DB_BASE/$firstdb/db.docdb $DB_BASE/$collect/db.docdb.work
+ cp $DB_BASE/$firstdb/db.docs.index $DB_BASE/$collect/db.docs.index.work
+ cp $DB_BASE/$firstdb/db.wordlist.work $DB_BASE/$collect/db.wordlist.work
+ cp $DB_BASE/$firstdb/db.words.db $DB_BASE/$collect/db.words.db.work
+ # Now we need to work out the number of remaining db in the collection
+ LENGTH=`wc -l $DB_BASE/$collect/$collect.collect | awk '{print $1;}'`
+ let NUM=LENGTH-1
+
+ for db in `tail -n $NUM $DB_BASE/$collect/$collect.collect`; do
+ if [ "$1" = "-v" ]; then
+ echo Merging db $db of collect $collect
+ fi
+ MERGE_CONF=$CONFIG_DIR/$db.conf
+ # There's a slight bug in the merge function.
+ # It's looking for db.wordlist, not .work. So lets copy it temporarily
+ cp $DB_BASE/$db/db.wordlist.work $DB_BASE/$db/db.wordlist
+ # Do the merging, using -d and -w to prevent normal merging
+ # (it would be a waste of time, we'd repeat it multiple times)
+ $BINDIR/htmerge $verbose -s -d -w -m $MERGE_CONF -a -c $CONF >>$REPORT
+ # And now remove the copy
+ rm $DB_BASE/$db/db.wordlist
+ done
+
+ # Now after merging in all of those databases
+ # we need to do the usual htmerge run
+ $BINDIR/htmerge -a $verbose -s -c $CONF >>$REPORT
+
+ if [ "$1" = "-v" ]; then
+ echo Moving files $collect at: `date`
+ fi
+ # If you don't have the space for backups, this step can be omitted
+ if [ $BACKUPS = "true" ]; then
+ cp $DB_BASE/$collect/db.docdb $DB_BASE/$collect/db.docdb.bak
+ cp $DB_BASE/$collect/db.docs.index $DB_BASE/$collect/db.docs.index.bak
+ # cp $DB_BASE/$collect/db.wordlist $DB_BASE/$collect/db.wordlist.bak
+ cp $DB_BASE/$collect/db.words.db $DB_BASE/$collect/db.words.db.bak
+ fi
+
+ # Move them because we don't want .work files around
+ # (Remember, we're generating using merging,
+ # so we want to make sure we don't have old stuff to gum up the works...
+ mv $DB_BASE/$collect/db.docdb.work $DB_BASE/$collect/db.docdb
+ mv $DB_BASE/$collect/db.docs.index.work $DB_BASE/$collect/db.docs.index
+ # mv $DB_BASE/$collect/db.wordlist.work $DB_BASE/$collect/db.wordlist
+ mv $DB_BASE/$collect/db.words.db.work $DB_BASE/$collect/db.words.db
+
+ # Make them world readable!
+ chmod 644 $DB_BASE/$collect/db.docdb
+ chmod 644 $DB_BASE/$collect/db.docs.index
+ # chmod 644 $DB_BASE/$collect/db.wordlist
+ chmod 644 $DB_BASE/$collect/db.words.db
+ if [ "$1" = "-v" ]; then
+ echo Done with $collect at: `date`
+ fi
+done
+
+# That's it!