Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/dist/pf Initial version.



details:   https://anonhg.NetBSD.org/src/rev/de5929d3c4ea
branches:  trunk
changeset: 749563:de5929d3c4ea
user:      martti <martti%NetBSD.org@localhost>
date:      Wed Dec 02 15:07:09 2009 +0000

description:
Initial version.

diffstat:

 dist/pf/README.NetBSD |  301 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 301 insertions(+), 0 deletions(-)

diffs (truncated from 305 to 300 lines):

diff -r f2f03e68d797 -r de5929d3c4ea dist/pf/README.NetBSD
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/dist/pf/README.NetBSD     Wed Dec 02 15:07:09 2009 +0000
@@ -0,0 +1,301 @@
+#
+# $NetBSD: README.NetBSD,v 1.1 2009/12/02 15:07:09 martti Exp $
+#
+# Author: Martti Kuparinen <martti%NetBSD.org@localhost>
+#
+# This file contains copy-pastable commands to import a new PF release
+# into the NetBSD repository. Before importing the code into the official
+# NetBSD repository, you'll import the code into your own local test
+# repository, resolve the conflicts and make sure everything works as expected.
+#
+# Steps in this document:
+#  1) Get the PF dist files and a copy of the CVS repository
+#  2) Create a local test repository for the test imports
+#  3) Import the new PF release into the test repository
+#  4) Resolve conflicts and make other adjustments
+#  5) Save the required modifications
+#  6) Re-create a local test repository for the final test import
+#  7) Import the new PF release into the test repository
+#  8) Apply the fixes
+#  9) Compile everything and make sure the new version really works
+# 10) Update your /usr/src (cd /usr/src && cvs update -dPA)
+# 11) Import the new PF release into the NetBSD repository
+# 12) Apply the fixes
+# 13) Update your /usr/src one more time (cd /usr/src && cvs update -dPA)
+# 14) Compile and install everything
+# 15) Update src/doc/3RDPARTY and src/doc/CHANGES
+# 16) Send an announcement to current-users
+#
+
+###############################################################################
+###############################################################################
+# COMMON SETTINGS FOR EVERYTHING BELOW
+###############################################################################
+###############################################################################
+
+export NETBSDUSERNAME="fixthis"
+export VERSION="4.6"
+export VERTAG="`echo ${VERSION} | sed 's+\.+_+g'`"
+export VEROLD="v4_2"
+export VERNEW="v4_6"
+export ORIG="${HOME}/netbsd/orig"
+export WORK="${HOME}/netbsd/work"
+export FIXES="${HOME}/netbsd/fixes/${VERSION}"
+export RSYNC_RSH="ssh -4"
+export RSYNC="rsync -avzr --delete"
+
+###############################################################################
+###############################################################################
+# Fetch the official PF sources
+###############################################################################
+###############################################################################
+
+mkdir -p ${ORIG}/openbsd-${VERSION}
+cd ${ORIG}/openbsd-${VERSION}
+if [ ! -f src.tar.gz ]; then
+  ftp ftp://ftp.df.lth.se/pub/OpenBSD/${VERSION}/src.tar.gz
+fi
+if [ ! -f sys.tar.gz ]; then
+  ftp ftp://ftp.df.lth.se/pub/OpenBSD/${VERSION}/sys.tar.gz
+fi
+
+###############################################################################
+###############################################################################
+# GET COPY OF THE CVS REPOSITORY FOR LOCAL TEST IMPORTS
+###############################################################################
+###############################################################################
+
+RSYNC_RSH="ssh -4"
+RSYNC="rsync -avzr --delete -e ssh"
+S="${NETBSDUSERNAME}@cvs.netbsd.org::cvsroot"
+D="${ORIG}/cvsroot"
+
+if [ "${NETBSDUSERNAME}" = "fixthis" ]; then
+  echo "You MUST use your real NetBSD user name..."
+  sleep 86400
+fi
+${RSYNC} ${S}/src/ ${D}/src
+${RSYNC} --exclude 'commitlog*' --exclude 'history*' ${S}/CVSROOT/ ${D}/CVSROOT
+
+###############################################################################
+###############################################################################
+# TEST IMPORT 1
+###############################################################################
+###############################################################################
+
+# Get a new repository
+mkdir -p ${WORK}
+${RSYNC} ${ORIG}/cvsroot ${WORK}
+rm -f ${WORK}/cvsroot/CVSROOT/commitinfo*
+rm -f ${WORK}/cvsroot/CVSROOT/loginfo*
+touch ${WORK}/cvsroot/CVSROOT/commitinfo
+touch ${WORK}/cvsroot/CVSROOT/loginfo
+chmod 644 ${WORK}/cvsroot/CVSROOT/config
+sed 's+/cvslock+/tmp/cvslock+' < ${WORK}/cvsroot/CVSROOT/config \
+  > ${WORK}/cvsroot/CVSROOT/config.1
+grep -v -e tag= -e AdminGroup= -e AdminOptions= \
+  < ${WORK}/cvsroot/CVSROOT/config.1 > ${WORK}/cvsroot/CVSROOT/config
+chmod 444 ${WORK}/cvsroot/CVSROOT/config
+rm -f ${WORK}/cvsroot/CVSROOT/config.1
+mkdir -p /tmp/cvslock
+export CVSROOT="${WORK}/cvsroot"
+
+# Checkout a working copy 
+cd ${WORK}
+rm -rf src
+cvs co -P src
+
+or
+
+cd ${WORK}/src
+rm -rf dist/pf sys/dist/pf
+cvs update -dPA
+
+or
+
+cd ${WORK}/src
+rm -rf dist/pf sys/dist/pf
+cvs update -dPA dist/pf sys/dist/pf
+
+# cvs tag
+cd ${WORK}/src
+cvs tag BEFORE-PF-${VERTAG} dist/pf sys/dist/pf
+
+# Prepare the files for import
+rm -rf /tmp/openbsd-${VERSION}
+mkdir -p /tmp/openbsd-${VERSION}
+cd /tmp/openbsd-${VERSION}
+tar -xzf ${ORIG}/openbsd-${VERSION}/src.tar.gz
+tar -xzf ${ORIG}/openbsd-${VERSION}/sys.tar.gz
+rm -rf /tmp/netbsd-${VERSION}
+${WORK}/src/dist/pf/pf2netbsd /tmp/openbsd-${VERSION} /tmp/netbsd-${VERSION}
+cd /tmp/netbsd-${VERSION}
+
+# Import the new version
+cd /tmp/netbsd-${VERSION}
+cvs import -I ! -I CVS -m "Import PF from OpenBSD ${VERSION}" \
+  src OPENBSD ${VERNEW}
+
+# src/dist/pf
+cd ${WORK}/src/dist/pf
+cvs update -kk -j${VEROLD} -j${VERNEW} -d
+A=`cvs update | grep ^C | awk '{ print $2 }'`
+cvs update | grep ^C
+
+##vim $A
+##for i in $A; do mkdir -p ${FIXES}/1/src/dist/pf/`dirname $i`; done
+##for i in $A; do cp $i ${FIXES}/1/src/dist/pf/$i; done
+cvs diff -u -kk -rOPENBSD $A | less
+cvs diff -u -kk -rOPENBSD | less
+cvs update -dPA
+
+# src/sys/dist/pf
+cd ${WORK}/src/sys/dist/pf
+cvs update -kk -j${VEROLD} -j${VERNEW} -d
+B=`cvs update | grep ^C | awk '{ print $2 }'`
+cvs update | grep ^C
+
+##vim $B
+##for i in $B; do mkdir -p ${FIXES}/1/src/sys/dist/pf/`dirname $i`; done
+##for i in $B; do cp $i ${FIXES}/1/src/sys/dist/pf/$i; done
+cvs diff -u -kk -rOPENBSD $B | less
+cvs diff -u -kk -rOPENBSD | less
+
+# Commit changes
+cd ${WORK}/src
+cvs ci -m "Upgraded PF to ${VERSION}" dist/pf sys/dist/pf
+
+# See the changes
+cd ${WORK}/src
+cvs diff -u -kk -rOPENBSD dist/pf sys/dist/pf | less
+
+###############################################################################
+###############################################################################
+# TEST IMPORT 2
+###############################################################################
+###############################################################################
+
+# Get a new repository
+mkdir -p ${WORK}
+${RSYNC} ${ORIG}/cvsroot ${WORK}
+rm -f ${WORK}/cvsroot/CVSROOT/commitinfo*
+rm -f ${WORK}/cvsroot/CVSROOT/loginfo*
+touch ${WORK}/cvsroot/CVSROOT/commitinfo
+touch ${WORK}/cvsroot/CVSROOT/loginfo
+chmod 644 ${WORK}/cvsroot/CVSROOT/config
+sed 's+/cvslock+/tmp/cvslock+' < ${WORK}/cvsroot/CVSROOT/config \
+  > ${WORK}/cvsroot/CVSROOT/config.1
+grep -v -e tag= -e AdminGroup= -e AdminOptions= \
+  < ${WORK}/cvsroot/CVSROOT/config.1 > ${WORK}/cvsroot/CVSROOT/config
+chmod 444 ${WORK}/cvsroot/CVSROOT/config
+rm -f ${WORK}/cvsroot/CVSROOT/config.1
+mkdir -p /tmp/cvslock
+export CVSROOT="${WORK}/cvsroot"
+
+# Checkout a working copy 
+cd ${WORK}/src
+rm -rf dist/pf sys/dist/pf
+cvs update -dPA dist/pf sys/dist/pf
+
+# cvs tag
+cd ${WORK}/src
+cvs tag BEFORE-PF-${VERTAG} dist/pf sys/dist/pf
+
+# Prepare the files for import
+rm -rf /tmp/openbsd-${VERSION}
+mkdir -p /tmp/openbsd-${VERSION}
+cd /tmp/openbsd-${VERSION}
+tar -xzf ${ORIG}/openbsd-${VERSION}/src.tar.gz
+tar -xzf ${ORIG}/openbsd-${VERSION}/sys.tar.gz
+rm -rf /tmp/netbsd-${VERSION}
+${WORK}/src/dist/pf/pf2netbsd /tmp/openbsd-${VERSION} /tmp/netbsd-${VERSION}
+cd /tmp/netbsd-${VERSION}
+
+# Import the new version
+cd /tmp/netbsd-${VERSION}
+cvs import -I ! -I CVS -m "Import PF from OpenBSD ${VERSION}" \
+  src OPENBSD ${VERNEW}
+
+# Merge and fix conflicts
+cd ${WORK}/src/dist/pf
+cvs update -kk -j${VEROLD} -j${VERNEW} -d
+cvs update | grep ^C
+
+cd ${WORK}/src/sys/dist/pf
+cvs update -kk -j${VEROLD} -j${VERNEW} -d
+cvs update | grep ^C
+
+cd ${FIXES}/1 && tar cf - * | tar xvf - -C ${WORK}
+cd ${WORK}/src
+cvs ci -m "Upgraded PF to ${VERSION}" dist/pf sys/dist/pf
+
+cd ${FIXES}/2 && tar cf - * | tar xvf - -C ${WORK}
+cd ${WORK}/src
+cvs ci -m "Sync with official PF" dist/pf sys/dist/pf
+
+###############################################################################
+###############################################################################
+# FINAL IMPORT IN TO NETBSD REPOSITORY
+###############################################################################
+###############################################################################
+
+# Settings
+if [ "${NETBSDUSERNAME}" = "fixthis" ]; then
+  echo "You MUST use your real NetBSD user name..."
+  sleep 86400
+fi
+export WORK="/usr"
+export CVSROOT="${NETBSDUSERNAME}@cvs.netbsd.org:/cvsroot"
+
+# Update the local copy first
+cd ${WORK}/src
+cvs update -dPA dist/pf sys/dist/pf
+
+# cvs tag
+cvs tag BEFORE-PF-${VERTAG} dist/pf sys/dist/pf
+
+# Prepare the files for import
+rm -rf /tmp/openbsd-${VERSION}
+mkdir -p /tmp/openbsd-${VERSION}
+cd /tmp/openbsd-${VERSION}
+tar -xzf ${ORIG}/openbsd-${VERSION}/src.tar.gz
+tar -xzf ${ORIG}/openbsd-${VERSION}/sys.tar.gz
+rm -rf /tmp/netbsd-${VERSION}
+${WORK}/src/dist/pf/pf2netbsd /tmp/openbsd-${VERSION} /tmp/netbsd-${VERSION}
+cd /tmp/netbsd-${VERSION}
+
+# Import the new version
+cd /tmp/netbsd-${VERSION}
+cvs import -I ! -I CVS -m "Import PF from OpenBSD ${VERSION}" \
+  src OPENBSD ${VERNEW}
+
+# Merge and fix conflicts
+cd ${WORK}/src/dist/pf
+cvs update -kk -j${VEROLD} -j${VERNEW} -d
+cvs update | grep ^C
+
+cd ${WORK}/src/sys/dist/pf
+cvs update -kk -j${VEROLD} -j${VERNEW} -d
+cvs update | grep ^C
+
+cd ${FIXES}/1 && tar cf - * | tar xvf - -C ${WORK}
+cd ${WORK}/src
+cvs ci -m "Upgraded PF to ${VERSION}" dist/pf sys/dist/pf
+
+cd ${FIXES}/2 && tar cf - * | tar xvf - -C ${WORK}
+cd ${WORK}/src
+cvs ci -m "Sync with official PF" dist/pf sys/dist/pf
+
+# fix doc/3RDPARTY and doc/CHANGES
+# send mail to current-users@
+
+HEADSUP
+=======
+Hi!
+
+I have just upgraded PF to the latest version on NetBSD -current. I've



Home | Main Index | Thread Index | Old Index