head	1.2;
access;
symbols
	netbsd-11-0-RC4:1.2
	netbsd-11-0-RC3:1.2
	netbsd-11-0-RC2:1.2
	netbsd-11-0-RC1:1.2
	perseant-exfatfs-base-20250801:1.2
	netbsd-11:1.2.0.62
	netbsd-11-base:1.2
	netbsd-10-1-RELEASE:1.2
	perseant-exfatfs-base-20240630:1.2
	perseant-exfatfs:1.2.0.60
	perseant-exfatfs-base:1.2
	netbsd-8-3-RELEASE:1.2
	netbsd-9-4-RELEASE:1.2
	netbsd-10-0-RELEASE:1.2
	netbsd-10-0-RC6:1.2
	netbsd-10-0-RC5:1.2
	netbsd-10-0-RC4:1.2
	netbsd-10-0-RC3:1.2
	netbsd-10-0-RC2:1.2
	netbsd-10-0-RC1:1.2
	netbsd-10:1.2.0.58
	netbsd-10-base:1.2
	netbsd-9-3-RELEASE:1.2
	cjep_sun2x-base1:1.2
	cjep_sun2x:1.2.0.56
	cjep_sun2x-base:1.2
	cjep_staticlib_x-base1:1.2
	netbsd-9-2-RELEASE:1.2
	cjep_staticlib_x:1.2.0.54
	cjep_staticlib_x-base:1.2
	netbsd-9-1-RELEASE:1.2
	phil-wifi-20200421:1.2
	phil-wifi-20200411:1.2
	is-mlppp:1.2.0.52
	is-mlppp-base:1.2
	phil-wifi-20200406:1.2
	netbsd-8-2-RELEASE:1.2
	netbsd-9-0-RELEASE:1.2
	netbsd-9-0-RC2:1.2
	netbsd-9-0-RC1:1.2
	phil-wifi-20191119:1.2
	netbsd-9:1.2.0.50
	netbsd-9-base:1.2
	phil-wifi-20190609:1.2
	netbsd-8-1-RELEASE:1.2
	netbsd-8-1-RC1:1.2
	pgoyette-compat-merge-20190127:1.2
	pgoyette-compat-20190127:1.2
	pgoyette-compat-20190118:1.2
	pgoyette-compat-1226:1.2
	pgoyette-compat-1126:1.2
	pgoyette-compat-1020:1.2
	pgoyette-compat-0930:1.2
	pgoyette-compat-0906:1.2
	netbsd-7-2-RELEASE:1.2
	pgoyette-compat-0728:1.2
	netbsd-8-0-RELEASE:1.2
	phil-wifi:1.2.0.48
	phil-wifi-base:1.2
	pgoyette-compat-0625:1.2
	netbsd-8-0-RC2:1.2
	pgoyette-compat-0521:1.2
	pgoyette-compat-0502:1.2
	pgoyette-compat-0422:1.2
	netbsd-8-0-RC1:1.2
	pgoyette-compat-0415:1.2
	pgoyette-compat-0407:1.2
	pgoyette-compat-0330:1.2
	pgoyette-compat-0322:1.2
	pgoyette-compat-0315:1.2
	netbsd-7-1-2-RELEASE:1.2
	pgoyette-compat:1.2.0.46
	pgoyette-compat-base:1.2
	netbsd-7-1-1-RELEASE:1.2
	matt-nb8-mediatek:1.2.0.44
	matt-nb8-mediatek-base:1.2
	perseant-stdc-iso10646:1.2.0.42
	perseant-stdc-iso10646-base:1.2
	netbsd-8:1.2.0.40
	netbsd-8-base:1.2
	prg-localcount2-base3:1.2
	prg-localcount2-base2:1.2
	prg-localcount2-base1:1.2
	prg-localcount2:1.2.0.38
	prg-localcount2-base:1.2
	pgoyette-localcount-20170426:1.2
	bouyer-socketcan-base1:1.2
	pgoyette-localcount-20170320:1.2
	netbsd-7-1:1.2.0.36
	netbsd-7-1-RELEASE:1.2
	netbsd-7-1-RC2:1.2
	netbsd-7-nhusb-base-20170116:1.2
	bouyer-socketcan:1.2.0.34
	bouyer-socketcan-base:1.2
	pgoyette-localcount-20170107:1.2
	netbsd-7-1-RC1:1.2
	pgoyette-localcount-20161104:1.2
	netbsd-7-0-2-RELEASE:1.2
	localcount-20160914:1.2
	netbsd-7-nhusb:1.2.0.32
	netbsd-7-nhusb-base:1.2
	pgoyette-localcount-20160806:1.2
	pgoyette-localcount-20160726:1.2
	pgoyette-localcount:1.2.0.30
	pgoyette-localcount-base:1.2
	netbsd-7-0-1-RELEASE:1.2
	netbsd-7-0:1.2.0.28
	netbsd-7-0-RELEASE:1.2
	netbsd-7-0-RC3:1.2
	netbsd-7-0-RC2:1.2
	netbsd-7-0-RC1:1.2
	netbsd-6-0-6-RELEASE:1.2
	netbsd-6-1-5-RELEASE:1.2
	netbsd-7:1.2.0.26
	netbsd-7-base:1.2
	yamt-pagecache-base9:1.2
	yamt-pagecache-tag8:1.2
	netbsd-6-1-4-RELEASE:1.2
	netbsd-6-0-5-RELEASE:1.2
	tls-earlyentropy:1.2.0.24
	tls-earlyentropy-base:1.2
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2
	riastradh-drm2-base3:1.2
	netbsd-6-1-3-RELEASE:1.2
	netbsd-6-0-4-RELEASE:1.2
	netbsd-6-1-2-RELEASE:1.2
	netbsd-6-0-3-RELEASE:1.2
	netbsd-6-1-1-RELEASE:1.2
	riastradh-drm2-base2:1.2
	riastradh-drm2-base1:1.2
	riastradh-drm2:1.2.0.16
	riastradh-drm2-base:1.2
	netbsd-6-1:1.2.0.22
	netbsd-6-0-2-RELEASE:1.2
	netbsd-6-1-RELEASE:1.2
	khorben-n900:1.2.0.20
	netbsd-6-1-RC4:1.2
	netbsd-6-1-RC3:1.2
	agc-symver:1.2.0.18
	agc-symver-base:1.2
	netbsd-6-1-RC2:1.2
	netbsd-6-1-RC1:1.2
	yamt-pagecache-base8:1.2
	netbsd-6-0-1-RELEASE:1.2
	yamt-pagecache-base7:1.2
	matt-nb6-plus-nbase:1.2
	yamt-pagecache-base6:1.2
	netbsd-6-0:1.2.0.14
	netbsd-6-0-RELEASE:1.2
	netbsd-6-0-RC2:1.2
	tls-maxphys:1.2.0.12
	tls-maxphys-base:1.2
	matt-nb6-plus:1.2.0.10
	matt-nb6-plus-base:1.2
	netbsd-6-0-RC1:1.2
	yamt-pagecache-base5:1.2
	yamt-pagecache-base4:1.2
	netbsd-6:1.2.0.8
	netbsd-6-base:1.2
	yamt-pagecache-base3:1.2
	yamt-pagecache-base2:1.2
	yamt-pagecache:1.2.0.6
	yamt-pagecache-base:1.2
	cherry-xenmp:1.2.0.4
	cherry-xenmp-base:1.2
	bouyer-quota2-nbase:1.2
	bouyer-quota2:1.2.0.2
	bouyer-quota2-base:1.2
	matt-mips64-premerge-20101231:1.2
	matt-premerge-20091211:1.2;
locks; strict;
comment	@# @;


1.2
date	2009.12.02.15.21.37;	author martti;	state Exp;
branches;
next	1.1;

1.1
date	2009.12.01.06.27.57;	author martti;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Removed obsolete files.
@
text
@#!/bin/sh
#
#   $NetBSD: pf2netbsd,v 1.1 2009/12/01 06:27:57 martti Exp $
#
# Copyright (c) 2009 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.
#
# 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.
#

usage()
{
    cat << EOF

Usage: `basename $0` [options] srcdir dstdir

where

-h      This help
-v      Be verbose

Example:

`basename $0` /tmp/openbsd-4.2 /tmp/netbsd-4.2

EOF
    exit 1
}

verbose()
{
    ${VERBOSE} && echo $*
    eval $*
}

mklist()
{
    # $1 = filename

    if [ -z "$1" ]; then
        echo "ERROR: Not enough arguments for mklist!"
        exit 1
    fi
    cat > $1 << EOF
etc/pf.conf
etc/pf.os
libexec/tftp-proxy/filter.c
libexec/tftp-proxy/filter.h
libexec/tftp-proxy/Makefile
libexec/tftp-proxy/tftp-proxy.8
libexec/tftp-proxy/tftp-proxy.c
sbin/pfctl/Makefile
sbin/pfctl/parse.y
sbin/pfctl/pfctl.8
sbin/pfctl/pfctl_altq.c
sbin/pfctl/pfctl.c
sbin/pfctl/pfctl.h
sbin/pfctl/pfctl_optimize.c
sbin/pfctl/pfctl_osfp.c
sbin/pfctl/pfctl_parser.c
sbin/pfctl/pfctl_parser.h
sbin/pfctl/pfctl_qstats.c
sbin/pfctl/pfctl_radix.c
sbin/pfctl/pfctl_table.c
sbin/pfctl/pf_print_state.c
sbin/pflogd/Makefile
sbin/pflogd/pflogd.8
sbin/pflogd/pflogd.c
sbin/pflogd/pflogd.h
sbin/pflogd/privsep.c
sbin/pflogd/privsep_fdpass.c
share/man/man4/pf.4
share/man/man4/pflog.4
share/man/man4/pfsync.4
share/man/man5/pf.conf.5
share/man/man5/pf.os.5
usr.sbin/authpf/authpf.8
usr.sbin/authpf/authpf.c
usr.sbin/authpf/Makefile
usr.sbin/authpf/pathnames.h
usr.sbin/ftp-proxy/filter.c
usr.sbin/ftp-proxy/filter.h
usr.sbin/ftp-proxy/ftp-proxy.8
usr.sbin/ftp-proxy/ftp-proxy.c
usr.sbin/ftp-proxy/Makefile
sys/net/if.c
sys/net/if.h
sys/net/if_pflog.c
sys/net/if_pflog.h
sys/net/if_pfsync.c
sys/net/if_pfsync.h
sys/net/pf.c
sys/net/pf_if.c
sys/net/pf_ioctl.c
sys/net/pf_norm.c
sys/net/pf_osfp.c
sys/net/pf_ruleset.c
sys/net/pf_table.c
sys/net/pfvar.h
sys/netinet/tcp_subr.c
sys/netinet/tcp_var.h
EOF
}

openbsd2netbsd()
{
    # $1 = srcdir
    # $2 = dstdir

    if [ -z "$2" ]; then
        echo "ERROR: Not enough arguments for openbsd2netbsd!"
        exit 1
    fi
    if [ -d $2/dist/pf ]; then
        echo "ERROR: $2 already exists!"
        exit 1
    fi
    if [ -d "$1/src" ]; then
        echo "ERROR: Use $1/src as the srcdir!"
        exit 1
    fi

    cd $1 || exit 1

    # Copy from OpenBSD
    verbose "mklist /tmp/pf.$$"
    verbose "mkdir -p $2"
    verbose "tar -c -T /tmp/pf.$$ -f- | tar -x -f- -C $2"

    # Some files have different name/location in NetBSD
    verbose cd $2
    verbose mkdir -p dist/pf sys/dist/pf

    verbose cd $2/sys/net
    verbose mv if.c if_compat.c
    verbose mv if.h if_compat.h
    verbose cp pf.c pf_mtag.c
    verbose cp pfvar.h pf_mtag.h

    verbose cd $2/sys/netinet
    verbose mv tcp_subr.c tcp_rndiss.c
    verbose mv tcp_var.h tcp_rndiss.h

    verbose cd $2
    verbose mv etc libexec sbin share usr.sbin dist/pf/

    verbose cd $2/sys
    verbose mv net netinet dist/pf/

    # Remove references to the OpenBSD CVS
    find $2 -name CVS | xargs rm -rf

#   # Remove the $'s around various CVS keywords
#   find $2 -type f | \
#   while read f
#   do
#       sed -e 's/\$\(Id.*\) \$/\1/'        \
#           -e 's/\$\(Date.*\) \$/\1/'      \
#           -e 's/\$\(Header.*\) \$/\1/'    \
#           ${f} > ${f}.fixed
#       mv ${f}.fixed ${f}
#       echo "Deactivated CVS keywords from ${f}"
#   done

    # Add the NetBSD keyword
    find $2 -type f -name '*.[chly]' | \
    grep -v -e if_compat -e tcp_rndiss | \
    while read f
    do
        sed 1q < ${f} | grep -q '\$NetBSD' || (
        cat > /tmp/pf2n.$$ <<  EOF
/*	\$NetBSD\$	*/
EOF
        cat ${f} >> /tmp/pf2n.$$
        mv /tmp/pf2n.$$ ${f}
        )
    done
    find $2 -type f -name '*.[0-9]' | \
    while read f
    do
        sed 1q < ${f} | grep -q '\$NetBSD' || (
        cat > /tmp/pf2n.$$ <<  EOF
.\"	\$NetBSD\$
EOF
        cat ${f} >> /tmp/pf2n.$$
        mv /tmp/pf2n.$$ ${f}
        )
    done
    find $2 -type f -name 'faq*' -o -name 'queue*' \
      -o -name 'ackpri' -o -name 'spamd' | \
    while read f
    do
        sed 1q < ${f} | grep -q '\$NetBSD' || (
        cat > /tmp/pf2n.$$ <<  EOF
# \$NetBSD\$
EOF
        cat ${f} >> /tmp/pf2n.$$
        mv /tmp/pf2n.$$ ${f}
        )
    done
    find $2 -type f -name 'Makefile' | \
    while read f
    do
        sed 1q < ${f} | grep -q '\$NetBSD' || (
        cat > /tmp/pf2n.$$ <<  EOF
#	\$NetBSD\$
EOF
        cat ${f} >> /tmp/pf2n.$$
        mv /tmp/pf2n.$$ ${f}
        )
    done
}

##
## MAIN
##
VERBOSE=false

ARGV=`getopt hv ${*}`
[ ${?} != 0 ] && exit 1
set -- ${ARGV}
for i
do
    case "${i}" in
    -h)
        usage
        shift
        ;;
    -v)
        VERBOSE=true
        shift
        ;;
    --)
        shift
        ;;
    esac
done
[ $# -ne 2 ] && usage

openbsd2netbsd $1 $2
rm -f /tmp/pf.$$
echo ""
echo "The sources-to-be-imported are now in $2"
echo ""
@


1.1
log
@Initial version.
@
text
@d3 1
a3 1
#   $NetBSD$
a95 10
share/pf/ackpri
share/pf/faq-example1
share/pf/faq-example2
share/pf/faq-example3
share/pf/Makefile
share/pf/queue1
share/pf/queue2
share/pf/queue3
share/pf/queue4
share/pf/spamd
@

