[MacPorts] #53109: port select fails if invalid exists

MacPorts noreply at macports.org
Tue Dec 20 01:22:01 CET 2016


#53109: port select fails if invalid exists
--------------------------+--------------------
  Reporter:  nhojpatrick  |      Owner:
      Type:  defect       |     Status:  closed
  Priority:  Normal       |  Milestone:
 Component:  base         |    Version:
Resolution:  duplicate    |   Keywords:
      Port:               |
--------------------------+--------------------
Changes (by ryandesign):

 * status:  new => closed
 * resolution:   => duplicate
 * component:  ports => base


Old description:

> I've just done a weekly upgrade and a prompt appeared about python. So I
> did as suggested, I then played around with other python versions and
> discovered select doesn't clean up if active versions are uninstalled and
> then you try and install a new version as active.
>
> $ sudo port select --list python3
> Available versions for python3:
>         none (active)
>         python35
> $ ls -l /opt/local/etc/select/python3/
> total 32
> -rw-r--r--+ 1 root  admin  145 12 Sep 13:27 base
> lrwxr-xr-x  1 root  admin    8 21 Aug  2015 current -> python34
> -rw-r--r--+ 1 root  admin   20 12 Sep 13:27 none
> -rw-r--r--+ 1 root  admin  154 18 Oct 20:11 python35
> $ sudo port select --set python3 python35
> Selecting 'python35' for 'python3' failed: symlink:
> /opt/local/etc/select/python3/current -> python35: file already exists
>
> I would attempt a port but no idea where to start and already trying to
> fix the githut portgroup.
>
> I would guess this could happen with every port select. If an invalid
> symlink exists and you try and set a new one it should delete the
> existing symlink and create it as specified.

New description:

 I've just done a weekly upgrade and a prompt appeared about python. So I
 did as suggested, I then played around with other python versions and
 discovered select doesn't clean up if active versions are uninstalled and
 then you try and install a new version as active.

 {{{
 $ sudo port select --list python3
 Available versions for python3:
         none (active)
         python35
 $ ls -l /opt/local/etc/select/python3/
 total 32
 -rw-r--r--+ 1 root  admin  145 12 Sep 13:27 base
 lrwxr-xr-x  1 root  admin    8 21 Aug  2015 current -> python34
 -rw-r--r--+ 1 root  admin   20 12 Sep 13:27 none
 -rw-r--r--+ 1 root  admin  154 18 Oct 20:11 python35
 $ sudo port select --set python3 python35
 Selecting 'python35' for 'python3' failed: symlink:
 /opt/local/etc/select/python3/current -> python35: file already exists
 }}}

 I would attempt a port but no idea where to start and already trying to
 fix the githut portgroup.

 I would guess this could happen with every port select. If an invalid
 symlink exists and you try and set a new one it should delete the existing
 symlink and create it as specified.

--

Comment:

 Duplicate of #31702.

--
Ticket URL: <https://trac.macports.org/ticket/53109#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list