USE_GITHUB and submodules

Alfred Perlstein alfred at freebsd.org
Wed May 20 18:35:26 UTC 2015



On 5/19/15 11:44 AM, Jonathan Anderson wrote:
> Hi all,
>
> Is there a mechanism for using the USE_GITHUB variable in a port that
> depends on submodules? For instance, the Rust port requires an embedded
> (and modified) version of LLVM, which it includes as a submodule. Right
> now I'm attempting to add the following to a `post-extract` rule:
>
> post-extract:
>      cd ${WRKSRC} && \
>      git init && \
>      git remote add origin https://github.com/${GH_ACCOUNT}/${PORTNAME} && \
>      git fetch && \
>      git reset --hard ${PORTVERSION} && \
>      git submodule init && \
>      git submodule update --recursive
>
> But this seems quite hackish! It would be great if submodules Just
> Worked... but alternatively, is there a USE_GITHUB_URL or somesuch that
> would check things out via Git instead of tarball to save me the `git
> init` through `git reset` steps?
>

Hello,

Please just try adding an option for fetch target to do this:

post-extract:
     cd ${WRKSRC} && \
     git submodule update --init --recursive

You should not need all the other things such as:

post-extract:
     cd ${WRKSRC} && \
     git init && \
     git remote add originhttps://github.com/${GH_ACCOUNT}/${PORTNAME} && \
     git fetch && \
     git reset --hard ${PORTVERSION} && \
     git submodule init && \
     git submodule update --recursive


Since submodules are based on git hashes, there should not be a security 
issue.

All that's needed is that the git ports hook for extracting needs an 
optional "git submodule update --init --recursive"  step added to it.

-Alfred


More information about the freebsd-git mailing list