2 # $Id: srclist-update,v 1.8 2003-07-15 12:47:27 karl Exp $
4 # Check for files in directory $1 being up to date, according to the
5 # list on stdin. Don't actually make any changes, just show the diffs.
7 # Source `dirname $0`/srclistvars.sh first, if it exists.
14 #chicken="echo (would)"
17 srctmp=$TMPDIR/srclist.src
18 dsttmp=$TMPDIR/srclist.dst
21 test -r $mydir/srclistvars.sh && . $mydir/srclistvars.sh
25 # $1 is input, output to stdout with gpl.
31 /^\([[:space:]]*#[[:space:]]*\)Th[ei][ s].* is free software/,/^[[:space:]]*#.*USA\./c\
32 # This program is free software; you can redistribute it and/or modify\
33 # it under the terms of the GNU General Public License as published by\
34 # the Free Software Foundation; either version 2, or (at your option)\
37 # This program is distributed in the hope that it will be useful,\
38 # but WITHOUT ANY WARRANTY; without even the implied warranty of\
39 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\
40 # GNU General Public License for more details.\
42 # You should have received a copy of the GNU General Public License along\
43 # with this program; if not, write to the Free Software Foundation,\
44 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
46 /Th[ei][ s].* is free software/,/USA\. *\*\//c\
47 This program is free software; you can redistribute it and/or modify\
48 it under the terms of the GNU General Public License as published by\
49 the Free Software Foundation; either version 2, or (at your option)\
52 This program is distributed in the hope that it will be useful,\
53 but WITHOUT ANY WARRANTY; without even the implied warranty of\
54 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\
55 GNU General Public License for more details.\
57 You should have received a copy of the GNU General Public License along\
58 with this program; if not, write to the Free Software Foundation,\
59 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
64 # $1 is input file, $2 is output.
65 # Remove $Id lines, since they'll differ between source locations.
66 # If $options contains "gpl", change the license to be the standard
67 # GPL. We use this for libc files.
77 | grep -v '\$Id: srclist-update,v 1.8 2003-07-15 12:47:27 karl Exp $2
82 cat | while read src dst options; do
84 *: ) continue;; # skip lines without second element
85 '#'* ) continue;; # skip comment-only lines
89 if test ! -r $src; then
90 echo "$0: cannot read $src" >&2
94 # Ignore subdirs in src dir. E.g., if input spec is
95 # src/subdir/foo.c dst
96 # write destination file dst/foo.c.
98 test -d $dst && dst=$dst/`basename $src`
100 # Make changes for sake of comparison.
102 test -r $dst && fixfile $dst $dsttmp
104 # don't show license differences.
105 gplsrc=$TMPDIR/`basename $src`
106 fixlicense $src >$gplsrc
107 cmp -s $src $gplsrc && gplsrc=$src
109 if test ! -e $dst; then
110 echo "## $gplsrc $dst # new"
111 $chicken cp -p $gplsrc $dst
112 elif cmp -s $srctmp $dsttmp; then
113 $verbose && echo "## $gplsrc $dst # unchanged"
115 echo "## $gplsrc $dst # changes"
116 diff -C 2 $dst $gplsrc
120 rm -f $srctmp $dsttmp