#!/bin/sh # # $Id$ # . $(dirname $0)/import.subr NON_CVS_REGULAR="( -name CVS -prune ! -name CVS ) -o -type f" usage() { echo "usage: $(basename $0) [ -D freebsd-sources-date ]" 1>&2 exit 1 } set -u # default: today's FreeBSD sources today=$(date +'%F') opts=$(getopt D:N:n: $*) if [ $? -ne 0 ]; then usage fi set -- $opts while [ "$#" -gt 0 ] ; do case "$1" in --) shift break ;; -N) # import into this NetBSD repository NETBSD_REPOS=$2 shift ;; -n) # expect at most $NEW new files NEW=$2 shift ;; -D) # date of FreeBSD sources to check out today=$2 shift ;; *) echo "($basename $0): unknown argument $1" 1>&2 usage ;; esac shift done if [ $# -gt 0 ]; then usage fi NETBSD_REPOS=${NETBSD_REPOS:-${HOME}/rsync-repo-2} NETBSD_CVS="cvs -d ${NETBSD_REPOS}" FREEBSD_CVS="cvs -d freebsdanoncvs@anoncvs.freebsd.org:/home/ncvs" FREEBSD_CO="$FREEBSD_CVS checkout -D $today" NETBSD_CO="$NETBSD_CVS checkout" NETBSD_IMPORT="echo skipping ${NETBSD_IMPORT:-}" NETBSD_IMPORT="$NETBSD_CVS import" STAGING=$HOME/fbsd-import-$today #touch $HOME/.cvspass #$FREEBSD_CVS login mkdir $STAGING mkdir $STAGING/fbsd cd $STAGING/fbsd for d in src/sys/net80211 \ src/sys/dev/iwi \ src/sys/dev/ath src/sys/contrib/dev/ath; do $FREEBSD_CO $d done mkdir $STAGING/check-new-nbsd cd $STAGING/check-new-nbsd # # TBD: add src/sys/contrib after it is imported. # for d in src/sys/net80211 src/sys/dev/ic src/sys/dev/pci do $NETBSD_CO $d done # # net80211(9) # echo "Note: in src/sys/net80211/, ieee80211_channel.h and" 1>&2 echo " ieee80211_compat.[ch] are obsolete." 1>&2 mkdir $STAGING/net80211-import mkdir -p $STAGING/net80211-import/sys/net80211 cd $STAGING/net80211-import/sys/net80211 ln $STAGING/fbsd/src/sys/net80211/_ieee80211.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_acl.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_crypto.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_crypto.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_crypto_ccmp.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_crypto_none.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_crypto_tkip.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_crypto_wep.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_input.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_ioctl.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_ioctl.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_freebsd.c ieee80211_netbsd.c ln $STAGING/fbsd/src/sys/net80211/ieee80211_freebsd.h ieee80211_netbsd.h ln $STAGING/fbsd/src/sys/net80211/ieee80211_node.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_node.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_output.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_proto.c . ln $STAGING/fbsd/src/sys/net80211/ieee80211_proto.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_radiotap.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_var.h . ln $STAGING/fbsd/src/sys/net80211/ieee80211_xauth.c . cd $STAGING/net80211-import check_for_new_files $NETBSD_IMPORT -m "Import FreeBSD's net80211(9) of $today" src \ FreeBSD net80211-$today # # ath(4) # echo "Note: in sys/dev/ic/, rename athcompat.[ch] to ath_netbsd.[ch]." 1>&2 ATH_IMPORT_DST=$STAGING/ath-import mkdir $ATH_IMPORT_DST mkdir -p $ATH_IMPORT_DST/sys/dev/ic mkdir -p $ATH_IMPORT_DST/sys/dev/pci cd $ATH_IMPORT_DST/sys/dev/ic ln $STAGING/fbsd/src/sys/dev/ath/ath_rate/amrr/amrr.c athrate-amrr.c ln $STAGING/fbsd/src/sys/dev/ath/ath_rate/amrr/amrr.h athrate-amrr.h ln $STAGING/fbsd/src/sys/dev/ath/ath_rate/onoe/onoe.c athrate-onoe.c ln $STAGING/fbsd/src/sys/dev/ath/ath_rate/onoe/onoe.h athrate-onoe.h ln $STAGING/fbsd/src/sys/dev/ath/ath_rate/sample/sample.c athrate-sample.c ln $STAGING/fbsd/src/sys/dev/ath/ath_rate/sample/sample.h athrate-sample.h ln $STAGING/fbsd/src/sys/dev/ath/if_ath.c ath.c ln $STAGING/fbsd/src/sys/dev/ath/if_athioctl.h athioctl.h ln $STAGING/fbsd/src/sys/dev/ath/if_athrate.h athrate.h ln $STAGING/fbsd/src/sys/dev/ath/if_athvar.h athvar.h cd $ATH_IMPORT_DST/sys/dev/pci ln $STAGING/fbsd/src/sys/dev/ath/if_ath_pci.c . echo "Note: patch sys/dev/cardbus/if_ath_cardbus.c." 1>&2 echo "Note: remove contrib/sys/" 1>&2 HAL_SRC=$STAGING/fbsd/src/sys/contrib/dev/ath HAL_DST=$ATH_IMPORT_DST/sys/contrib stage_ath_hal FBSD_COUNT=$(find $STAGING/fbsd/src/sys/dev/ath \ $STAGING/fbsd/src/sys/net80211 $STAGING/fbsd/src/sys/contrib/dev/ath \ $NON_CVS_REGULAR | wc -l) IMPORT_COUNT=$(find $STAGING/net80211-import $ATH_IMPORT_DST $NON_CVS_REGULAR | wc -l) if [ $FBSD_COUNT -ne $IMPORT_COUNT ]; then echo "error: there are ${FBSD_COUNT} ath(4)/net80211(9) files in" 1>&2 echo " FreeBSD, versus ${IMPORT_COUNT} imported." 1>&2 exit 1 fi cd $ATH_IMPORT_DST check_for_new_files $NETBSD_IMPORT -m "Import FreeBSD's ath(4) of $today" src FreeBSD ath-$today # # iwi(4) # mkdir $STAGING/iwi-import mkdir -p $STAGING/iwi-import/sys/dev/pci cd $STAGING/iwi-import/sys/dev/pci ln $STAGING/fbsd/src/sys/dev/iwi/if_iwi.c . ln $STAGING/fbsd/src/sys/dev/iwi/if_iwireg.h . ln $STAGING/fbsd/src/sys/dev/iwi/if_iwivar.h . cd $STAGING/iwi-import check_for_new_files $NETBSD_IMPORT -m "Import FreeBSD's iwi(4) of $today" src \ FreeBSD iwi-$today