# $Header: /magellan-cvs/smage/include/cvs.sminc,v 1.1 2005/12/04 12:26:50 niro Exp $ # cvs checkout functions # at least only CVSROOT must be exported # needed vars MY_CVS_MODULE="${PNAME}" MY_CVS_OPTS="" CVSROOT="" cvs_fetch_source() { [[ -z ${CVSROOT} ]] && die "no CVSROOT given, cannot run a checkout." # cvs login export CVSROOT="${CVSROOT}" cvs login [ ! -d "${SRCDIR}" ] && { install -d ${SRCDIR} || die; } # get all our modules or update them if [ ! -d ${SRCDIR}/${MY_CVS_MODULE}/CVS ] then (cd ${SRCDIR}; cvs -z3 checkout -P ${MY_CVS_OPTS} ${MY_CVS_MODULE}) else (cd ${SRCDIR}; cvs -z3 update -d -P ${MY_CVS_OPTS} ${MY_CVS_MODULE}) fi # correct permissions find ${SRCDIR} -type f -exec chmod 0644 '{}' ';' find ${SRCDIR} -type d -exec chmod 0755 '{}' ';' # delete CVS directories for file in $(find ${SRCDIR} -type d -name CVS) do rm -rf ${file} done # set correct SRCDIR export SRCDIR="${SRCDIR}/${MY_CVS_MODULE}" cd ${SRCDIR} # clean up backup files (foo~) find ${SRCDIR} -name *~ -exec rm '{}' ';' || die } cvs_src_prepare() { cvs_fetch_source || die } export_inherits cvs src_prepare