How to specify commandline options to git for the fetch phase of a port?
Daniel J. Luke
dluke at geeklair.net
Wed Nov 12 07:26:18 PST 2014
> On Nov 12, 2014, at 5:45 AM, William Gallafent <william at gallaf.net> wrote:
> According to https://guide.macports.org/#reference.phases.fetch.git I am able to set the url and tag to fetch … but for a particular port I'm playing with I also need to add the “--recursive” option in order to get the submodules in place. Alternatively, I would need to run “git submodule update --init --recursive” immediately after the fetch.
>
> Any thoughts or advice?
First, be sure you actually need to use git to fetch the source (it's /much/ better to pull a tarball than to pull source from git/mercurial/svn/cvs/whatever).
I'm not sure if there's a hook for you to pass in additional git args, but even if there isn't - it should be relatively trivial for youu to add a 'post-fetch' phase to do whatever you want to have happen right after the fetch.
Note that the github portgroup says this:
# Some projects' tag- or commit-based distfiles will not contain all the
# necessary files, if the project uses git submodules. If available, use a
# distfile from "releases" or "downloads" instead, as described above. If the
# project does not provide those, encourage the project's developers to provide
# releases. Until they do, fetch from git instead of from a distfile, and add a
# post-fetch block to fetch the submodules:
#
# fetch.type git
#
# post-fetch {
# system -W ${worksrcpath} "git submodule update --init"
# }
--
Daniel J. Luke
+========================================================+
| *---------------- dluke at geeklair.net ----------------* |
| *-------------- http://www.geeklair.net -------------* |
+========================================================+
| Opinions expressed are mine and do not necessarily |
| reflect the opinions of my employer. |
+========================================================+
More information about the macports-dev
mailing list