[MacPorts] #47706: base: postflight.in: Missing check causes duplicate PATH entries when sourcing CONF_FILE
MacPorts
noreply at macports.org
Mon May 11 14:15:00 PDT 2015
#47706: base: postflight.in: Missing check causes duplicate PATH entries when
sourcing CONF_FILE
--------------------------+--------------------------------
Reporter: anonymous@… | Owner: macports-tickets@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.3.3
Resolution: | Keywords:
Port: |
--------------------------+--------------------------------
Changes (by larryv@…):
* keywords: PATH, postflight.in =>
Old description:
> When sourcing CONF_FILE (in this case ~/.profile) with source ~/.profile,
> my PATH variable expands indefinitely, since there is no check if BINPATH
> is already in PATH (
> https://trac.macports.org/browser/trunk/base/portmgr/dmg/postflight.in#L243
> ).
>
> My ~/.profile looks like this:
>
> {{{
> # MacPorts Installer addition on 2015-01-17_at_00:00:40: adding an
> appropriate PATH variable for use with MacPorts.
> export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
> # Finished adapting your PATH environment variable for use with MacPorts.
> }}}
>
> The solution is to check in
> https://trac.macports.org/browser/trunk/base/portmgr/dmg/postflight.in#L103
> if BINPATH (Part of ${2}) is already in PATH (\$ + ${1}). If so, do not
> export it again.
>
> I fixed it in my ~/.profile with this modification (bash):
>
> {{{
> # MacPorts Installer addition on 2015-01-17_at_00:00:40: adding an
> appropriate PATH variable for use with MacPorts.
> [[ ! "$PATH" =~ "/opt/local/bin:/opt/local/sbin" ]] && export
> PATH="/opt/local/bin:/opt/local/sbin:$PATH"
> # Finished adapting your PATH environment variable for use with MacPorts.
> }}}
New description:
When sourcing CONF_FILE (in this case ~/.profile) with source ~/.profile,
my PATH variable expands indefinitely, since there is no check if BINPATH
is already in PATH ([[source:trunk/base/portmgr/dmg/postflight.in#L243]]).
My ~/.profile looks like this:
{{{
# MacPorts Installer addition on 2015-01-17_at_00:00:40: adding an
appropriate PATH variable for use with MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
# Finished adapting your PATH environment variable for use with MacPorts.
}}}
The solution is to check in
source:trunk/base/portmgr/dmg/postflight.in#L103 if BINPATH (Part of
$!{2}) is already in PATH (\$ + $!{1}). If so, do not export it again.
I fixed it in my ~/.profile with this modification (bash):
{{{
# MacPorts Installer addition on 2015-01-17_at_00:00:40: adding an
appropriate PATH variable for use with MacPorts.
[[ ! "$PATH" =~ "/opt/local/bin:/opt/local/sbin" ]] && export
PATH="/opt/local/bin:/opt/local/sbin:$PATH"
# Finished adapting your PATH environment variable for use with MacPorts.
}}}
--
--
Ticket URL: <https://trac.macports.org/ticket/47706#comment:1>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list