script to move most of include/*.h to include/inn/*.h
Adam J. Richter
adam at yggdrasil.com
Sun Nov 19 12:29:47 UTC 2006
The following shell script, if executed in the top level of
the inn-CURRENT-20061118 source tree, moves all but one of the header
files currently in include/ to include/nntp/, and updates references to
these files. The exception is include/nntp.h, since there is already
a different include/nntp/nntp.h.
In the case of inn-CURRENT-20061118, I have verified that
if I build a source tree modified by this script and a pristine
source tree, and then strip all of the .o files in both trees, that
all of the .o files are unchanged. I've also checked that
"./configure --prefix=/usr && make all && make install" still succeeds
after running this script.
I suggest running it on the inn-CURRENT tree after applying
my patch to move include/paths.h. (You could also just skip my
patch to move include/paths.h, as this will pick it up, but you
should still apply the minor manual update to inn/TODO that it
includes.)
I imagine you could do the same thing to inn-CURRENT, but
I guess that is more of a policy question, as I am not sure that
there are any other conflicts currently caused by inn installing
files directly in /usr/include/, although it would not surprise
me to find something else also clobbering /usr/include/config.h.
Then again, since this change apparently compiles to the same
binaries, maybe that is good enough to get into inn-STABLE just
to minimize differences between STABLE and CURRENT.
Adam Richter
#!/bin/sh
for file_path in include/*{.h,.h.in} ; do
file=${file_path#include/}
if [ "$file" = nntp.h ] ; then
continue
fi
mv -i include/$file include/inn/$file
file=${file%.in}
pattern=$(echo $file | sed 's/\./\\./g')
for target in $(find . -type f | xargs grep -l $file) ; do
ed $target << DONE
1,\$s|$pattern|inn/$file|g
w
q
DONE
done
done
autoconf
More information about the inn-workers
mailing list