--- branches/magellan-next/include/cvs.sminc 2010/09/14 16:46:32 6654 +++ branches/magellan-next/include/cvs.sminc 2010/09/28 19:50:42 7094 @@ -8,24 +8,35 @@ MY_CVS_OPTS="" CVSROOT="" +SDEPEND="${SDEPEND} + >= dev-util/subversion-1 + >= sys-apps/util-linux-2" # needed for mcookie + cvs_fetch_source() { [[ -z ${CVSROOT} ]] && die "no CVSROOT given, cannot run a checkout." + local temp=${BUILDDIR}/temp-$(mcookie) + # cvs login export CVSROOT="${CVSROOT}" cvs login - [ ! -d "${SRCDIR}" ] && { install -d ${SRCDIR} || die; } + [ ! -d "${temp}" ] && { install -d ${temp} || die; } # get all our modules or update them - if [ ! -d ${SRCDIR}/${MY_CVS_MODULE}/CVS ] + if [ ! -d ${temp}/${MY_CVS_MODULE}/CVS ] then - (cd ${SRCDIR}; cvs -z3 checkout -P ${MY_CVS_OPTS} ${MY_CVS_MODULE}) + (cd ${temp}; cvs -z3 checkout -P ${MY_CVS_OPTS} ${MY_CVS_MODULE}) else - (cd ${SRCDIR}; cvs -z3 update -d -P ${MY_CVS_OPTS} ${MY_CVS_MODULE}) + (cd ${temp}; cvs -z3 update -d -P ${MY_CVS_OPTS} ${MY_CVS_MODULE}) fi + # set correct SRCDIR + [ -d "${SRCDIR}" ] && { rm -r ${SRCDIR} || die; } + mv ${temp}/${MY_CVS_MODULE} ${SRCDIR} || die + cd ${SRCDIR} + # correct permissions find ${SRCDIR} -type f -exec chmod 0644 '{}' ';' find ${SRCDIR} -type d -exec chmod 0755 '{}' ';' @@ -36,10 +47,6 @@ 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 }