port version reports 2.4.2 when built from tag v2.4.3
Enrico Maria Crisostomo
enrico.m.crisostomo at gmail.com
Fri Apr 13 20:28:29 UTC 2018
Ryan,
Unless there's something I'm not understanding, in which case I apologise for the noise, I don't think my shell is caching anything. I went so far as to change my user's .zshrc file and try this four possibilities _with a reboot between each test_:
* /opt/local: installed from packages: works fine
* /opt/macports-2.4.2: installed from git, built clean: works fine and reports 2.4.2
* /opt/macports-2.4.3-dirty: installed from git after switching tag and _not_ cleaning the tree: still reports 2.4.2.
* /opt/macports-2.4.3-clean: installed from git after cleaning (git clean -xfd): works fine and reports 2.4.3.
How could the shell be caching anything? And why it would be caching for the /opt/macports-2.4.3-dirty tree and not for the /opt/macports-2.4.3-clean tree?
Cheers,
--
Enrico
> On 12 Apr 2018, at 18:44, Ryan Schmidt <ryandesign at macports.org> wrote:
>
>
> On Apr 12, 2018, at 03:39, Enrico Maria Crisostomo wrote:
>
>> On 12 Apr 2018, at 02:30, Ryan Schmidt wrote:
>>
>>> On Apr 11, 2018, at 08:48, Enrico Maria Crisostomo wrote:
>>>
>>>> Well, I replicated it:
>>>>
>>>> * Clean the repo (e.g.: git clean -xfd)
>>>> * git checkout v2.4.2
>>>> * build and install 2.4.2:
>>>>
>>>> $ export PATH=/bin:/sbin:/usr/bin:/usr/sbin
>>>> $ MP_PREFIX=/opt/macports-2.4.2
>>>> $ ./configure --prefix=$MP_PREFIX --with-applications-dir=$MP_PREFIX/Applications
>>>> $ make
>>>> $ sudo make install
>>>>
>>>> * open new terminal
>>>> * git checkout v2.4.3
>>>> * configure 2.4.3:
>>>>
>>>> $ export PATH=/bin:/sbin:/usr/bin:/usr/sbin
>>>> $ MP_PREFIX=/opt/macports-2.4.3
>>>> $ ./configure --prefix=$MP_PREFIX --with-applications-dir=$MP_PREFIX/Applications
>>>>
>>>> * At this point src/macports1.0/macports_autoconf.tcl correctly contains `variable macports_version "2.4.3"`
>>>> * build and install 2.4.3:
>>>>
>>>> $ make
>>>> $ sudo make install
>>>>
>>>> * At this point /opt/macports-2.4.3/libexec/macports/lib/macports1.0/macports_autoconf.tcl correctly contains `variable macports_version "2.4.3"`.
>>>> * But port reports 2.4.2:
>>>>
>>>> % echo path
>>>> /opt/macports-2.4.3/bin:/opt/macports-2.4.3/sbin:/bin:/usr/bin:/usr/ucb:/usr/local/bin
>>>> % type port
>>>> port is /opt/macports-2.4.3/bin/port
>>>> % port version
>>>> Version: 2.4.2
>>>
>>> Just to be absolutely certain which `port' binary you're running:
>>>
>>> What happens if you run:
>>>
>>> /opt/macports-2.4.3/bin/port version
>>
>> Hi Ryan,
>>
>> This happens:
>>
>> % /opt/macports-2.4.3-clean/bin/port version
>> Version: 2.4.3
>
> Then I would say that MacPorts is working correctly. I would guess that the problem occurred because of your shell's cached lookup of the port command in the previous /opt/macports-2.4.2 location.
More information about the macports-dev
mailing list