#!/bin/sh #$Id: fetch-netbsd-tools,v 1.7 2008-02-23 13:44:35 cheusov Exp $ # # written by Aleksey Cheusov, public domain # # downloads and packs netbsd userlevel tools from NetBSD CVS # usage: # ./fetch-netbsd-tools -r 3.1 # ./fetch-netbsd-tools -d 2007-01-01 # tools are listed at the end of script # usage (){ cat < -d EOF } if test $# -ne 2; then usage exit 1 fi BSD=netbsd case $1 in -r) VER=$2; CVSVER="-r `printf ${BSD}-%s-RELEASE $VER | tr . -`";; -d) CVSVER="-D $2"; VER="`echo $2 | sed 's/-//g'`";; *) usage; exit 2; esac TARCMD="tar -cf -" COMPRESSCMD="bzip2" TARBALL_EXT=tar.bz2 CVS_ROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot init_vars (){ if test $# != 2; then echo 'invalid $#' 1>&2 exit 10 fi # $1 - basename fn=$1 # $2 - CVS repository cvsrep=$2 # tarball="${BSD}-${fn}-${VER}" dirnm="$tarball" tarball="$tarball.$TARBALL_EXT" } do_fetch (){ init_vars "$@" rm -rf $dirnm || return 1 cvs -d"$CVS_ROOT" co -d"$dirnm" $CVSVER "$cvsrep" } do_pack (){ init_vars "$@" if test -f $tarball; then return 0 fi do_fetch "$@" || exit 11 $TARCMD "$dirnm" | $COMPRESSCMD > $tarball || exit 12 rm -rf "$dirnm" || exit 13 } #do_fetch \ # bgrep 3.1 anoncvs@anoncvs.NetBSD.org:/cvsroot \ # src/usr.bin/grep -rnetbsd-3-1 while read tool path; do do_pack $tool $path done <