#! /bin/sh # # $NetBSD: sendmail2netbsd,v 1.5 2003/06/01 13:59:56 atatat Exp $ # # Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the NetBSD # Foundation, Inc. and its contributors. # 4. Neither the name of The NetBSD Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # sendmail2netbsd: removes Id tag and couple of other items, for importing # sendmail tree into netbsd. # works on current directory. netbsdtag=$(echo @NetBSD@ | tr @ $) c_tag() { tf=$1 cat -< $tf.2.$$ && /* $netbsdtag */ #include #ifndef lint __RCSID("$netbsdtag"); #endif EOF mv $tf.2.$$ $tf if [ $? != 0 ]; then echo "$f: retag error" 1>&2 exit 1 fi echo "c style $netbsdtag added" } h_tag() { tf=$1 cat -< $tf.2.$$ && /* $netbsdtag */ EOF mv $tf.2.$$ $tf if [ $? != 0 ]; then echo "$f: retag error" 1>&2 exit 1 fi echo "h style $netbsdtag added" } retag() { f=$1 doidtag='s/\$\(Id[^\$]*\) \$/\1/' tagging=false # skip some files entirely case "$f" in */sendmail/helpfile|*.jpg|*.ps|"") echo "$f: skipping retag" return 0 ;; *.[ch]|*.cf) # we'll get these later (well...not the .cf files) ;; *) # add netbsd tag now tagging=true doidtag="h;${doidtag}p;g;"'s/\$\(Id[^\$]*\) \$/'$netbsdtag/ ;; esac # now remove tags and maybe add ours echo -n "$f: removing tags, " sed -e 's/\$\(RCSfile[^\$]*\) \$/\1/' \ -e 's/\$\(Date[^\$]*\) \$/\1/' \ -e 's/\$\(Revision[^\$]*\) \$/\1/' \ -e "$doidtag" \ < $f > $f.1.$$ && mv $f.1.$$ $f if [ $? != 0 ]; then echo "$f: retag error" exit 1 fi if $tagging && fgrep -qs $netbsdtag $f; then echo "generic $netbsdtag added" else # now add *our* tag case "$f" in *.c) c_tag $f ;; *.h) h_tag $f ;; *) echo "no $netbsdtag added" ;; esac fi } ### remove *.ps (cd doc/op; make clean) ### Remove $'s around RCSfile, Id, Date, Revision, and maybe add a NetBSD tag find . -name CVS -type d -prune -o -type f -print | \ grep -v sendmail2netbsd | \ while read f; do retag $f done if [ $? != 0 ]; then exit $? fi echo "please edit sendmail/helpfile by hand." exit 0