Opened 4 years ago
Last modified 4 years ago
#60854 closed defect
Wrong subversion dependency when fetch.type is svn with Xcode 11.4 and later — at Version 2
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | MacPorts 2.7.0 |
Component: | base | Version: | 2.6.2 |
Keywords: | haspatch | Cc: | |
Port: |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
When fetch.type
is svn
, MacPorts base declares a dependency on bin:svn:subversion
. On Catalina with only the command line tools installed, /usr/bin/svn exists but is a stub that doesn't do anything:
:info:fetch svn: error: The subversion command line tools are no longer provided by Xcode.
We already change the dependency to port:subversion
on old OS versions whose svn can't connect to secure servers anymore. We should also do this when on a new system with a stub svn.
Change History (2)
comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Summary: | Wrong subversion dependency when fetch.type is svn on Catalina → Wrong subversion dependency when fetch.type is svn with Xcode 11.4 and later |
Note: See
TracTickets for help on using
tickets.
It appears that Xcode 11.4 and the Xcode 11.4 version of the command line tools no longer have svn. But if you upgraded to the newer command line tools from an older version that had svn, then svn was not deleted during the upgrade. So on our 10.15 buildbot worker which has been upgraded through several versions /Library/Developer/CommandLineTools/usr/bin/svn still exists but on a newly set up machine that started with the 11.5 command line tools it does not.
And this is weird: if svn isn't in the command line tools but is installed with MacPorts, /usr/bin/svn will run it!
So maybe on 10.15 we should change the dependency from
bin:svn:subversion
topath:/Library/Developer/CommandLineTools/usr/bin/svn:subversion
. Users who just have Xcode installed and not the command line tools would be forced to use MacPorts subversion even though Xcode might contain a working svn, but I'm probably willing to live with that. I can't think of a better way. Using a different dependency based on whether svn exists can't really be done because the dependency will go in the portindex which is generated on the server not on the user's machine.