--- /usr/portage/eclass/subversion.eclass 2009-05-10 22:36:06.000000000 +0200 +++ subversion.eclass 2009-07-15 21:07:49.000000000 +0200 @@ -162,7 +162,13 @@ # Set the minimum number of hours between svn up'ing in any given svn module. This is particularly # useful for split KDE ebuilds where we want to ensure that all submodules are compiled for the same # revision. It should also be kept user overrideable. -ESVN_UP_FREQ="${ESVN_UP_FREQ:=}" +ESVN_UP_FREQ="${ESVN_UP_FREQ:-}" + +# @ECLASS-VARIABLE: ESVN_UMASK +# @DESCRIPTION: +# Set custom umask for files created in ESVN_STORE_DIR. +# Example: ESVN_UMASK="g+w", if empty, use system defaults. +ESVN_UMASK="${ESVN_UMASK:-}" # @ECLASS-VARIABLE: ESCM_LOGDIR # @DESCRIPTION: @@ -170,7 +176,8 @@ # package inheriting from subversion.eclass will record svn revision to # ${CATEGORY}/${PN}.log in that path in pkg_preinst. This is not supposed to be # set by ebuilds/eclasses. It defaults to empty so users need to opt in. -ESCM_LOGDIR="${ESCM_LOGDIR:=}" +ESCM_LOGDIR="${ESCM_LOGDIR:-}" + # @FUNCTION: subversion_fetch # @USAGE: [repo_uri] [destination] @@ -216,6 +223,10 @@ addread "/etc/subversion" addwrite "${ESVN_STORE_DIR}" + if [[ -n ${ESVN_UMASK} ]]; then + umask ${ESVN_UMASK} || die "${ESVN}: can't umask ${ESVN_UMASK}." + fi + if [[ ! -d ${ESVN_STORE_DIR} ]]; then debug-print "${FUNCNAME}: initial checkout. creating subversion directory" mkdir -p "${ESVN_STORE_DIR}" || die "${ESVN}: can't mkdir ${ESVN_STORE_DIR}."