Reorganize developers files.

This commit is contained in:
Bruce Momjian 1997-09-08 04:14:01 +00:00
parent 23db70bf73
commit 125079e6d7
12 changed files with 56 additions and 109 deletions

1
src/DEVELOPERS Normal file
View File

@ -0,0 +1 @@
All the developer tools are located in the /tools directory.

View File

@ -1,10 +0,0 @@
#!/bin/sh
trap "rm -f /tmp/$$" 0 1 2 3 15
rm -f ./tags
find `pwd`/ -type f -name '*.[chyl]' -print|xargs ctags -t -a -f tags
sort tags >/tmp/$$ && mv /tmp/$$ tags
find . -type d -print |while read DIR
do
[ "$DIR" != "." ] && ln -f -s `pwd`/tags $DIR/tags
done

View File

@ -1,10 +0,0 @@
#!/bin/sh
trap "rm -f /tmp/$$" 0 1 2 3 15
rm -f ./TAGS
find `pwd`/ -type f -name '*.[chyl]' -print | \
xargs etags --append --output=TAGS
find . -type d -print | \
while read DIR; do
[ "$DIR" != "." ] && ln -f -s `pwd`/TAGS $DIR
done

View File

@ -1,7 +0,0 @@
#!/bin/sh
find `pwd`/ -type f -name '*.[chyl]' -print|sed 's;//;/;g' | mkid -S.gen=C -
find . -type d -print |while read DIR
do
[ "$DIR" != "." ] && ln -f -s `pwd`/ID $DIR/ID
done

View File

@ -1,48 +0,0 @@
#!/bin/sh
#
# This can format all PostgreSQL *.c and *.h files,
# excluding libpq++, *.y, and *.l files.
#
# On 09/06/1997, from the top directory, I ran:
#
# find . -name '*.[ch]' -type f -print | grep -v '++' | xargs -n100 PGINDENT
#
trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
entab </dev/null >/dev/null
if [ "$?" -ne 0 ]
then echo "Go to the src/tools/entab directory and do a 'make' and 'make install'." >&2
echo "This will put the 'entab' command in your path." >&2
echo "Then run $0 again."
exit 1
fi
indent -st </dev/null >/dev/null
if [ "$?" -ne 0 ]
then echo "You do not appear to have 'indent' installed on your system." >&2
exit 1
fi
for FILE
do
cat $FILE |
sed 's;/\* *---;/*---X_X;g' |
sed 's;\([} ]\)else[ ]*\(/\*.*\)$;\1else\
\2;g' | # workaround for indent bug
detab -t4 -qc |
sed 's;^DATA(.*$;/*&*/;' >/tmp/$$a # protect backslashes in DATA()
indent -bad -bap -bbb -bc -bl -d0 -cdb -cli1 -nce -nfc1 -di12 -i4 -l75 \
-lp -nip -npro /tmp/$$a >/tmp/$$ 2>&1
if [ "$?" -ne 0 -o -s /tmp/$$ ]
then echo "$FILE"
cat /tmp/$$
fi
cat /tmp/$$a |
sed 's;^/\*\(DATA(.*\)\*/$;\1;' |
sed 's;/\*---X_X;/* ---;g' |
sed 's;^static[ ][ ]*;static ;g' | # workaround indent bug
detab -t8 -qc |
entab -t4 -qc >/tmp/$$ && cat /tmp/$$ >$FILE
done
# The 'for' loop makes these backup files useless
# so delete them
rm -f *a.BAK

0
src/FIND_STATIC → src/tools/find_static Normal file → Executable file
View File

27
src/tools/find_typedef Executable file
View File

@ -0,0 +1,27 @@
#!/bin/sh
# This script attempts to find all typedef's in the postgres binaries
# by using 'nm' to report all typedef debugging symbols.
#
# For this program to work, you must have compiled all binaries with
# debugging symbols.
#
# This is run on BSD/OS 3.0, so you may need to make changes for your
# version of nm.
#
# Ignore the nm errors about a file not being a binary file.
#
# Remember, debugging symbols are your friends.
#
if [ "$#" -ne 1 -o ! -d "$1" ]
then echo "Usage: $0 postgres_binary_directory" 1>&2
exit 1
fi
nm -a "$1"/* |
grep LSYM |
grep ':t' |
sed 's/^.*LSYM \([^:]*\):.*$/\1/' |
grep -v ' ' | # some typedefs have spaces, revove them
sort |
uniq

View File

@ -2,19 +2,9 @@ Bruce Momjian <maillist@candle.pha.pa.us>
Here are some of the scripts I use to make development easier.
First, I use 'cpdir' on every file I am about to change. This makes a
First, I use 'cporig' on every file I am about to change. This makes a
copy with the extension .orig. If an .orig already exists, I am warned.
:
# cporig
for FILE
do
if [ ! -f "$FILE.orig" ]
then cp $FILE $FILE.orig
else echo "$FILE.orig exists" 1>&2
fi
done
I can get really fancy with this. I can do 'cporig *' and make a .orig
for every file in the current directory. I can:
@ -34,33 +24,12 @@ or even better (using mkid):
to edit all those files.
When I am ready to generate a patch, I run this command from the top of
When I am ready to generate a patch, I run 'difforig' command from the top of
the source tree:
:
#difforig
if [ "$#" -eq 0 ]
then APATH="."
else APATH="$1"
fi
find $APATH -name '*.orig' -print | sort | while read FILE
do
NEW="`dirname $FILE`/`basename $FILE .orig`"
echo "$NEW" 1>&2
diff -c $FILE $NEW
done
I pipe the output of this to a file to hold my patch, and the file names
it processes appear on my screen. It creates a nice patch for me of all
the files I used with cporig.
Finally, I remove my old copies with:
:
# rmorig
if [ "$#" -eq 0 ]
then APATH="."
else APATH="$1"
fi
find $APATH -name '*.orig' -exec rm {} \;
Finally, I remove my old copies with 'rmorig'.

8
src/tools/make_diff/cporig Executable file
View File

@ -0,0 +1,8 @@
:
for FILE
do
if [ ! -f "$FILE.orig" ]
then cp $FILE $FILE.orig
else echo "$FILE.orig exists" 1>&2
fi
done

11
src/tools/make_diff/difforig Executable file
View File

@ -0,0 +1,11 @@
:
if [ "$#" -eq 0 ]
then APATH="."
else APATH="$1"
fi
find $APATH -name '*.orig' -print | sort | while read FILE
do
NEW="`dirname $FILE`/`basename $FILE .orig`"
echo "$NEW" 1>&2
diff -c $FILE $NEW
done

6
src/tools/make_diff/rmorig Executable file
View File

@ -0,0 +1,6 @@
:
if [ "$#" -eq 0 ]
then APATH="."
else APATH="$1"
fi
find $APATH -name '*.orig' -exec rm {} \;