Gentoo Archives: gentoo-dev

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-dev@l.g.o
Cc: arthurzam@g.o, "Ulrich Müller" <ulm@g.o>
Subject: [gentoo-dev] [PATCH v2 5/6] bzr.eclass: Don't rely on sandbox internals
Date: Sat, 25 Sep 2021 12:30:33
Message-Id: 20210925122834.18686-5-ulm@gentoo.org
In Reply to: [gentoo-dev] [PATCH v2 1/6] bzr.eclass: Reinstate eclass by "Ulrich Müller"
1 Signed-off-by: Ulrich Müller <ulm@g.o>
2 ---
3 eclass/bzr.eclass | 18 ++++++++----------
4 1 file changed, 8 insertions(+), 10 deletions(-)
5
6 diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass
7 index de73aed7f676..5dd5d40c13fa 100644
8 --- a/eclass/bzr.eclass
9 +++ b/eclass/bzr.eclass
10 @@ -201,16 +201,16 @@ _bzr_update() {
11 # bzr branch or bzr pull, depending on whether there is an existing
12 # working copy.
13 bzr_fetch() {
14 - local repo_dir branch_dir
15 - local save_sandbox_write=${SANDBOX_WRITE} save_umask
16 + local repo_dir branch_dir save_umask
17
18 [[ -n ${EBZR_REPO_URI} ]] || die "${ECLASS}: EBZR_REPO_URI is empty"
19
20 - if [[ ! -d ${EBZR_STORE_DIR} ]] ; then
21 - addwrite /
22 - mkdir -p "${EBZR_STORE_DIR}" \
23 - || die "${ECLASS}: can't mkdir ${EBZR_STORE_DIR}"
24 - SANDBOX_WRITE=${save_sandbox_write}
25 + if [[ ! -d ${EBZR_STORE_DIR} ]]; then
26 + (
27 + addwrite /
28 + mkdir -p "${EBZR_STORE_DIR}" \
29 + || die "${ECLASS}: can't mkdir ${EBZR_STORE_DIR}"
30 + )
31 fi
32
33 pushd "${EBZR_STORE_DIR}" > /dev/null \
34 @@ -220,7 +220,7 @@ bzr_fetch() {
35 branch_dir=${repo_dir}${EBZR_BRANCH:+/${EBZR_BRANCH}}
36
37 if [[ -n ${EVCS_UMASK} ]]; then
38 - save_umask=$(umask)
39 + save_umask=$(umask) || die
40 umask "${EVCS_UMASK}" || die
41 fi
42 addwrite "${EBZR_STORE_DIR}"
43 @@ -248,8 +248,6 @@ bzr_fetch() {
44 _bzr_update "${EBZR_REPO_URI}" "${branch_dir}"
45 fi
46
47 - # Restore sandbox environment and umask
48 - SANDBOX_WRITE=${save_sandbox_write}
49 if [[ -n ${save_umask} ]]; then
50 umask "${save_umask}" || die
51 fi
52 --
53 2.33.0