summaryrefslogtreecommitdiff
blob: 663e94d54979cfd5b708026dd3eb70667ac2b5db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From f9b2434560399b00f7de479474f8f22fc0271e77 Mon Sep 17 00:00:00 2001
From: Georgi Georgiev <chutz@gg3.net>
Date: Tue, 10 Mar 2015 00:38:36 +0900
Subject: PWD is a special variable, we should leave its value alone

Bash sets the value of PWD to the current working directory. It is not a
good idea to change that variable without actually changing the
directory. This would happen if the working directory changes between
saving and loading the environment (saving - when building a PBIN, and
loading - when installing it for example), so better let bash handle
this variable.

Fixes: ticket:1325

diff --git a/paludis/repositories/e/ebuild/source_functions.bash b/paludis/repositories/e/ebuild/source_functions.bash
index 58b9327..5bfb251 100755
--- a/paludis/repositories/e/ebuild/source_functions.bash
+++ b/paludis/repositories/e/ebuild/source_functions.bash
@@ -37,7 +37,7 @@ ebuild_need_extglob()
 ebuild_safe_source()
 {
     set -- "${@}" '[^a-zA-Z_]*' '*[^a-zA-Z0-9_]*' \
-        EUID PPID UID FUNCNAME GROUPS SHELLOPTS BASHOPTS BASHPID IFS \
+        EUID PPID UID FUNCNAME GROUPS SHELLOPTS BASHOPTS BASHPID IFS PWD \
         'BASH_@(ARGC|ARGV|LINENO|SOURCE|VERSINFO|REMATCH)' \
         'BASH_COMPLETION?(_DIR)' 'bash+([0-9])?([a-z])' \
         EBUILD_KILL_PID PALUDIS_LOADSAVEENV_DIR PALUDIS_DO_NOTHING_SANDBOXY SANDBOX_ACTIVE \
-- 
cgit v0.10.2