summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch')
-rw-r--r--sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch b/sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch
new file mode 100644
index 000000000000..663e94d54979
--- /dev/null
+++ b/sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch
@@ -0,0 +1,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
+