diff options
author | Ulrich Müller <ulm@gentoo.org> | 2015-02-04 09:44:24 +0000 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2015-02-04 09:44:24 +0000 |
commit | f9e3f1ab2f9b1d84267ec7504247cd3de57a61d3 (patch) | |
tree | e814811c48241ad1cca0b81d5e003c6d22fd20f3 /eclass | |
parent | Add missing boost dep, bug #538774. (diff) | |
download | historical-f9e3f1ab2f9b1d84267ec7504247cd3de57a61d3.tar.gz historical-f9e3f1ab2f9b1d84267ec7504247cd3de57a61d3.tar.bz2 historical-f9e3f1ab2f9b1d84267ec7504247cd3de57a61d3.zip |
Respect the EVCS_UMASK variable to override the default umask when writing to the repository.
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/ChangeLog | 6 | ||||
-rw-r--r-- | eclass/git-r3.eclass | 32 |
2 files changed, 34 insertions, 4 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog index 35101caeb2da..69db1dc50022 100644 --- a/eclass/ChangeLog +++ b/eclass/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for eclass directory # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1520 2015/02/01 12:01:06 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1521 2015/02/04 09:44:24 ulm Exp $ + + 04 Feb 2015; Ulrich Müller <ulm@gentoo.org> git-r3.eclass: + Respect the EVCS_UMASK variable to override the default umask when writing + to the repository. 01 Feb 2015; Andreas K. Huettel <dilfridge@gentoo.org> perl-module.eclass: Drop support for EAPI=4 diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass index 51f0ae5a247d..a5d0f054d90f 100644 --- a/eclass/git-r3.eclass +++ b/eclass/git-r3.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/git-r3.eclass,v 1.47 2014/07/28 14:13:50 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/git-r3.eclass,v 1.48 2015/02/04 09:44:24 ulm Exp $ # @ECLASS: git-r3.eclass # @MAINTAINER: @@ -131,6 +131,17 @@ fi # @DESCRIPTION: # If non-empty, this variable prevents any online operations. +# @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: EGIT_BRANCH # @DEFAULT_UNSET # @DESCRIPTION: @@ -309,8 +320,16 @@ _git-r3_set_gitdir() { addwrite "${EGIT3_STORE_DIR}" if [[ ! -d ${GIT_DIR} ]]; then + local saved_umask + if [[ ${EVCS_UMASK} ]]; then + saved_umask=$(umask) + umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}" + fi mkdir "${GIT_DIR}" || die git init --bare || die + if [[ ${saved_umask} ]]; then + umask "${saved_umask}" || die + fi fi } @@ -507,7 +526,11 @@ git-r3_fetch() { fi # try to fetch from the remote - local r success + local r success saved_umask + if [[ ${EVCS_UMASK} ]]; then + saved_umask=$(umask) + umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}" + fi for r in "${repos[@]}"; do einfo "Fetching ${r} ..." @@ -668,6 +691,9 @@ git-r3_fetch() { break fi done + if [[ ${saved_umask} ]]; then + umask "${saved_umask}" || die + fi [[ ${success} ]] || die "Unable to fetch from any of EGIT_REPO_URI" # submodules can reference commits in any branch |