diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-09-13 17:56:30 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-09-13 17:56:30 +0100 |
commit | 948d557b4a61dc14722668b6b11a4cf3cee07b01 (patch) | |
tree | b28b6cb077ae6b2457e30d49028fc978d8e2b59b /eclass/bzr.eclass | |
parent | e3cf2c86fca1750343c1885311f857f185ee4f2d (diff) |
gentoo resync : 13.09.2019
Diffstat (limited to 'eclass/bzr.eclass')
-rw-r--r-- | eclass/bzr.eclass | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass index 10bd6bc7e5ad..598a0f87fe6d 100644 --- a/eclass/bzr.eclass +++ b/eclass/bzr.eclass @@ -140,6 +140,17 @@ EXPORT_FUNCTIONS src_unpack # by users. : ${EBZR_OFFLINE=${EVCS_OFFLINE}} +# @ECLASS-VARIABLE: EVCS_UMASK +# @DEFAULT_UNSET +# @DESCRIPTION: +# Set this variable to a custom umask. This is intended to be set by +# users. By setting this to something like 002, it can make life easier +# for people who do development as non-root (but are in the portage +# group), and then switch over to building with FEATURES=userpriv. +# Or vice-versa. Shouldn't be a security issue here as anyone who has +# portage group write access already can screw the system over in more +# creative ways. + # @ECLASS-VARIABLE: EBZR_WORKDIR_CHECKOUT # @DEFAULT_UNSET # @DESCRIPTION: @@ -197,7 +208,7 @@ bzr_update() { # working copy. bzr_fetch() { local repo_dir branch_dir - local save_sandbox_write=${SANDBOX_WRITE} + local save_sandbox_write=${SANDBOX_WRITE} save_umask [[ -n ${EBZR_REPO_URI} ]] || die "${EBZR}: EBZR_REPO_URI is empty" @@ -214,6 +225,10 @@ bzr_fetch() { repo_dir=${EBZR_STORE_DIR}/${EBZR_PROJECT} branch_dir=${repo_dir}${EBZR_BRANCH:+/${EBZR_BRANCH}} + if [[ -n ${EVCS_UMASK} ]]; then + save_umask=$(umask) + umask "${EVCS_UMASK}" || die + fi addwrite "${EBZR_STORE_DIR}" if [[ ! -d ${branch_dir}/.bzr ]]; then @@ -240,8 +255,11 @@ bzr_fetch() { bzr_update "${EBZR_REPO_URI}" "${branch_dir}" fi - # Restore sandbox environment + # Restore sandbox environment and umask SANDBOX_WRITE=${save_sandbox_write} + if [[ -n ${save_umask} ]]; then + umask "${save_umask}" || die + fi cd "${branch_dir}" || die "${EBZR}: can't chdir to ${branch_dir}" |