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-ports
mailing list