[MacPorts] #49752: root5: port leaves unregistered files
#49752: root5: port leaves unregistered files --------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: root5 --------------------------+---------------------- The root5 port leaves unregistered files in the MacPorts prefix of any user who has installed the root5 port. {{{ $ port installed root5 None of the specified ports are installed. $ port select root Available versions for root: none $ ls -l /opt/local/bin | grep root5 lrwxr-xr-x 1 root wheel 35 Nov 5 00:00 g2root -> /opt/local/libexec/root5/bin/g2root lrwxr-xr-x 1 root wheel 35 Nov 5 00:00 genmap -> /opt/local/libexec/root5/bin/genmap lrwxr-xr-x 1 root wheel 38 Nov 5 00:00 genreflex -> /opt/local/libexec/root5/bin/genreflex lrwxr-xr-x 1 root wheel 47 Nov 5 00:00 genreflex-rootcint -> /opt/local/libexec/root5/bin/genreflex-rootcint lrwxr-xr-x 1 root wheel 35 Nov 5 00:00 h2root -> /opt/local/libexec/root5/bin/h2root lrwxr-xr-x 1 root wheel 33 Nov 5 00:00 hadd -> /opt/local/libexec/root5/bin/hadd lrwxr-xr-x 1 root wheel 43 Nov 5 00:00 hist2workspace -> /opt/local/libexec/root5/bin/hist2workspace lrwxr-xr-x 1 root wheel 37 Nov 5 00:00 memprobe -> /opt/local/libexec/root5/bin/memprobe lrwxr-xr-x 1 root wheel 32 Nov 5 00:00 pq2 -> /opt/local/libexec/root5/bin/pq2 lrwxr-xr-x 1 root wheel 47 Nov 5 00:00 prepareHistFactory -> /opt/local/libexec/root5/bin/prepareHistFactory lrwxr-xr-x 1 root wheel 35 Nov 5 00:00 proofd -> /opt/local/libexec/root5/bin/proofd lrwxr-xr-x 1 root wheel 38 Nov 5 00:00 proofserv -> /opt/local/libexec/root5/bin/proofserv lrwxr-xr-x 1 root wheel 42 Nov 5 00:00 proofserv.exe -> /opt/local/libexec/root5/bin/proofserv.exe lrwxr-xr-x 1 root wheel 36 Nov 5 00:00 rlibmap -> /opt/local/libexec/root5/bin/rlibmap lrwxr-xr-x 1 root wheel 38 Nov 5 00:00 rmkdepend -> /opt/local/libexec/root5/bin/rmkdepend lrwxr-xr-x 1 root wheel 33 Nov 5 00:00 root -> /opt/local/libexec/root5/bin/root lrwxr-xr-x 1 root wheel 40 Nov 5 00:00 root-config -> /opt/local/libexec/root5/bin/root-config lrwxr-xr-x 1 root wheel 37 Nov 5 00:00 root.exe -> /opt/local/libexec/root5/bin/root.exe lrwxr-xr-x 1 root wheel 37 Nov 5 00:00 rootcint -> /opt/local/libexec/root5/bin/rootcint lrwxr-xr-x 1 root wheel 34 Nov 5 00:00 rootd -> /opt/local/libexec/root5/bin/rootd lrwxr-xr-x 1 root wheel 38 Nov 5 00:00 rootn.exe -> /opt/local/libexec/root5/bin/rootn.exe lrwxr-xr-x 1 root wheel 34 Nov 5 00:00 roots -> /opt/local/libexec/root5/bin/roots lrwxr-xr-x 1 root wheel 38 Nov 5 00:00 roots.exe -> /opt/local/libexec/root5/bin/roots.exe lrwxr-xr-x 1 root wheel 39 Nov 5 00:00 setxrd.csh -> /opt/local/libexec/root5/bin/setxrd.csh lrwxr-xr-x 1 root wheel 38 Nov 5 00:00 setxrd.sh -> /opt/local/libexec/root5/bin/setxrd.sh lrwxr-xr-x 1 root wheel 36 Nov 5 00:00 ssh2rpd -> /opt/local/libexec/root5/bin/ssh2rpd lrwxr-xr-x 1 root wheel 41 Nov 5 00:00 thisroot.csh -> /opt/local/libexec/root5/bin/thisroot.csh lrwxr-xr-x 1 root wheel 40 Nov 5 00:00 thisroot.sh -> /opt/local/libexec/root5/bin/thisroot.sh lrwxr-xr-x 1 root wheel 36 Nov 5 00:00 xpdtest -> /opt/local/libexec/root5/bin/xpdtest }}} This appears to be because the port runs "port select" for the user. Ports must not do that. Ports should only advise the user how to use port select. Then, I would like this fixed so that these unregistered files are removed from the systems of users who did not themselves run "port select root ...". However, I'm not sure how to do that in a way that does not affect users who did run "port select root ...". We may just leave the cleanup to #47755 which calls for MacPorts itself to remove selected files for ports that are no longer installed. -- Ticket URL: <https://trac.macports.org/ticket/49752> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root5 ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- Comment (by jonesc@…): The root5 and root6 ports have done this from when root6 was added. The idea is normally a user will only want one installed, so it seems to me reasonable to select it for them. A clear message is printed warning it is happening. Personally, I see nothing wrong with this. The unregistered files are not caused by this, but a flaw in the 'port select' mechanism that does not remove them when the user uninstalls the root port they point at. I don't see this have anything to do with the root ports themselves. Chris -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- Comment (by mojca@…): If it is absolutely forbidden for a port to run `port select`, we could create a port `root +root5/+root6` which creates those symlinks. -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- Comment (by jonesc@…): Sorry, but no. That just a lot of effort to do the same thing via a different command. If it is forbidden, and personnally i don't see the problem, then fine we just remove it, period. Users either then have to use the versioned binaries directly, or run port select themselves. But first i would want to see the reasoned argument why it should be removed. -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- Comment (by mojca@…): Is running this command automatically causing any (problematic) leftovers on the buildbots (that is, until #47755 gets fixed)? -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#49752: root5: runs "port select root ..." on behalf of user, causing unregistered files to be left on the user's system ---------------------------+---------------------- Reporter: ryandesign@… | Owner: jonesc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: root5 | ---------------------------+---------------------- Comment (by ryandesign@…): Replying to [comment:3 jonesc@…]:
The unregistered files are not caused by this, but a flaw in the 'port select' mechanism that does not remove them when the user uninstalls the root port they point at.
Right, #47755.
I don't see this have anything to do with the root ports themselves.
It has to do with the root ports because I know of no other ports using the select mechanism in this manner, so it may surprise the user, and it contradicts the information we usually give to users, which is that the user shall run "port select" to select the version they want and that MacPorts will not do that for them. If we want this behavior to be considered normal, it should be discussed on the macports-dev mailing list and the select 1.0 portgroup should be enhanced to offer this feature somehow. Replying to [comment:5 mojca@…]:
If it is absolutely forbidden for a port to run `port select`, we could create a port `root +root5/+root6` which creates those symlinks.
No, we don't want that. If you're thinking of this as analogous to the perl5 port, the perl5 port is a bug, not a feature; it only exists because the select feature did not exist at the time. Replying to [comment:7 mojca@…]:
Is running this command automatically causing any (problematic) leftovers on the buildbots (that is, until #47755 gets fixed)?
The files do remain on the buildbot builders, yes, and that is how I noticed the problem, because I am currently trying to clean up one of the builders and am periodically checking /opt/local/bin to see if it "looks clean" to me, and the presence of broken symlinks pointing to root files does not "look clean", but now that I know why they're there and that it's not because of a problem on this builder but a problem in the port and a bug in MacPorts base, I am ignoring them. -- Ticket URL: <https://trac.macports.org/ticket/49752#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts