32 lines
1 KiB
Bash
Executable file
32 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Reports database configuration settings without proto/xxx_table documentation
|
|
|
|
LANG=C; export LANG
|
|
LC_ALL=C; export LC_ALL
|
|
|
|
trap 'rm -f from-source.tmp from-doc.tmp 2>/dev/null' 0 1 2 3 15
|
|
|
|
# For each database type, extract parameter names from its postconf
|
|
# include file, and compare the result against a list of names from
|
|
# the corresponding proto/xxx_table file.
|
|
|
|
# Force a failure if the pcf*suffixes.h files do not exist. Avoid using
|
|
# bash-specific shell features.
|
|
for map in `(ls src/postconf/pcf*suffixes.h || kill $$) |
|
|
sed 's;src/postconf/pcf_\(.*\)_suffixes.h$;\1;'`
|
|
do
|
|
# Extract parameter names from source code.
|
|
tr -cd '[A-zA-z_0-9\12]' < src/postconf/pcf_${map}_suffixes.h |
|
|
sort > from-source.tmp
|
|
# Extract parameter names from documentation.
|
|
sed -n '/^# *\.IP *"*\\fB\([a-zA-Z_0-9][a-zA-Z_0-9]*\).*/{
|
|
s//\1/
|
|
p
|
|
}' proto/${map}_table | sort > from-doc.tmp
|
|
cmp -s from-source.tmp from-doc.tmp || {
|
|
echo Settings in global/dict_${map}.c and proto/${map}_table differ.
|
|
diff from-source.tmp from-doc.tmp
|
|
}
|
|
done
|
|
|