NetBSD/dist/pppd/ppp2netbsd
2005-02-20 10:51:52 +00:00

141 lines
4.4 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: ppp2netbsd,v 1.2 2005/02/20 10:51:52 cube Exp $
#
# Copyright (c) 2005 The NetBSD Foundation.
# All rights reserved.
#
# This code is derived from software contributed to the NetBSD Foundation
# by Quentin Garnier.
#
# 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.
#
# Execute this at the top of the ppp distribution
# then import it.
#
# cvs import src/dist/pppd MACKERRAS PPP2_4_X
# Stuff we don't need
UNUSED_DIRS="common contrib etc.ppp include linux modules solaris scripts"
UNUSED_FILES="Changes-2.3 README.linux README.pppoe README.sol2 configure"
UNUSED_FILES="${UNUSED_FILES} pppd/md[45].* pppd/sha1.* pppd/srp-entry.*"
UNUSED_FILES="${UNUSED_FILES} pppd/sys-linux.c pppd/sys-solaris.c"
UNUSED_FILES="${UNUSED_FILES} pppdump/zlib.* pppdump/ppp-comp.h"
# Stuff we don't want
GPL_DIRS="pppd/plugins/pppoatm pppd/plugins/radius pppd/plugins/rp-pppoe"
GPL_FILES="pppd/tdb.* pppd/spinlock.* pppd/plugins/passprompt.c
pppd/plugins/winbind.c"
echo -n "Removing unwanted stuf... "
for obj in ${UNUSED_DIRS} ${GPL_DIRS} ${UNUSED_FILES} ${GPL_FILES}; do
rm -Rf ${obj}
echo -n "${obj} "
done
echo; echo
# Remove Makefiles
echo -n "Removing Makefiles... "
find . -type f -name 'Makefile*' | while read m; do
rm -f ${m}
echo -n "${m} "
done
echo; echo
# Changing RCS Ids
echo -n "Fixing RCS Ids... "
find . -type f | while read f; do
sed -e 's/\$\(Id:.*\) \$/\1/' < ${f} > /tmp/ppp2netbsd.$$ && \
echo -n "${f} " && \
mv /tmp/ppp2netbsd.$$ ${f}
done
echo; echo
# Add NetBSD RCS Ids
# Man pages
echo -n "Adding NetBSD Ids to manpages... "
find . -type f -name '*.[1-8]' | while read f; do
(echo ".\\\" \$NetBSD\$"; echo '.\"'; cat ${f}) > /tmp/ppp2netbsd.$$ && \
echo -n "${f} " && \
mv /tmp/ppp2netbsd.$$ ${f}
done
echo; echo
# Source files
echo -n "Adding NetBSD Ids to C source files and headers... "
find . -type f -name '*.[ch]' | while read f; do
(echo "/* \$NetBSD\$ */"; echo; cat ${f}) \
> /tmp/ppp2netbsd.$$ && echo -n "${f} " && \
mv /tmp/ppp2netbsd.$$ ${f}
done
echo; echo
# RCSID management
echo -n "Fixing RCSID references... "
find . -type f -name '*.c' | while read f; do
sed -e '{
/^#define[ ]RCSID/{i\
#include <sys/cdefs.h>\
#ifndef lint\
#if 0
a\
#else\
__RCSID("\$NetBSD\$");\
#endif\
#endif
}
/= RCSID/{i\
#ifdef RCSID
a\
#endif
}
/^#ifndef[ ]lint$/,/^#endif$/{
/^#ifndef[ ]lint/i\
#include <sys/cdefs.h>
/^static const char rcsid\[\] = "/{i\
#if 0
a\
#else\
__RCSID("\$NetBSD\$");\
#endif
};};}' < ${f} > /tmp/ppp2netbsd.$$ && echo -n "${f} " && \
mv /tmp/ppp2netbsd.$$ ${f}
done
echo; echo
#\(#ifndef[ ]lint\n\)\(static const char rcsid\[\] = .*\)$/\
##include <sys\/cdefs.h>\n\
#\1\
##if 0\n\
#\2\n\
##else\n\
#__RCSID("\$NetBSD\$");\n\
##endif/