[MacPorts] #45353: base - git and mercurial fetching target directory

MacPorts noreply at macports.org
Sun Oct 12 12:25:14 PDT 2014


#45353: base - git and mercurial fetching target directory
--------------------------+----------------------------
 Reporter:  and.damore@…  |      Owner:  macports-dev@…
     Type:  defect        |     Status:  new
 Priority:  Normal        |  Milestone:
Component:  base          |    Version:  2.3.1
 Keywords:  base          |       Port:
--------------------------+----------------------------
 Portfetch supports five types of VCS: bazaar, CVS, subversion, mercurial
 and git.
 Fetch procedures portfetch::gitfetch and portfetch::hgfetch clone the
 remote repository into a directory whose name depends on ''$worksrcpath''

 This means that if a portfile author sets ''worksrcdir'' to
 ''${distname}/src/'' because the repository contains its source files in a
 subdirectory called ''src/'', then the repository itself gets cloned as
 ''${distname}/src'' and the actual source files will be stored at
 ''${distname}/src/src''.

 This isn't the expected behavior.


 I'm patching portfetch::gitfetch and portfetch::hgfetch so they'll clone
 the repository to what would have been the default worksrcdir.
 This way setting ''worksrcdir'' to ''${distname}/src'' correctly execute
 the phases in ''${worksrcpath}''.


 This can potentially break ports with augmented phases that are already
 coping with the previous wrong behavior, I'll do a check in dports tree to
 see if there are any of those before committing.
 Meanwhile any comment is appreciated.

-- 
Ticket URL: <https://trac.macports.org/ticket/45353>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list