USE_GITHUB and submodules

Jonathan Anderson jonathan at FreeBSD.org
Thu May 21 12:49:21 UTC 2015


Ok, I've updated the port and it passes portlint (with one warning that
I can't seem to fix without introducing more warnings). Is the next step
to create a Phabricator review request via arcanist? If so, do I list
the folks you replied to this thread as reviewers? :) I suppose I would
also list people who I find with 'svn blame'?

Cheers,


Jon
> Jonathan Anderson <mailto:jonathan.robert.anderson at gmail.com>
> May 20, 2015 at 11:00 AM
> Thanks everybody for the input! With a security hat on, I definitely
> concur with the policy of no fetching outside of fetch and of
> requiring reproducibility/verifiability (e.g., commit hashes). With my
> getting-this-darn-port-updated hat, however... :)
>
> I think that I'll try to go with Shane's solution, if others concur
> that it's a good idea. I don't want to create a rust-llvm port, since
> Rust's customized version of LLVM isn't much good outside of Rust, it
> doesn't expose any external libraries and it's intended to eventually
> go away. So, until GitHub implements the "give me a tarball with all
> of the submodules" feature, I might try hacking up MASTER_SITES as
> Shane suggests.
>
> Cheers,
>
>
> Jon
>
> Shane Ambler <mailto:FreeBSD at ShaneWare.Biz>
> May 19, 2015 at 10:16 PM
> On 20/05/2015 04:14, 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:
>
> While you can setup multiple files to be downloaded for a port this
> doesn't work with USE_GITHUB, see my 3 year old report -
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=172964
>
> This isn't an official port, but the workaround I came up with was to
> setup multiple files by setting MASTER_SITES using --
>
> MASTER_SITES= https://github.com/sambler/myblender/tarball/:base \
>     https://github.com/sambler/myblendertranslations/tarball/:trans \
>     https://github.com/sambler/myblenderaddons/tarball/:addons \
>     https://github.com/sambler/myblendercontrib/tarball/:contrib
> DISTFILES= sambler-${PORTVERSION}.${PORTREVISION}:base \
>     translate-${PORTVERSION}.${PORTREVISION}:trans \
>     addons-${PORTVERSION}.${PORTREVISION}:addons \
>     contrib-${PORTVERSION}.${PORTREVISION}:contrib
> DIST_SUBDIR= ${PORTNAME}
>
> The DISTFILES names are setup to match my tag format.
>
> This gives you multiple archives for the port, each will be extracted
> into the work dir, I then use post-extract to move them into place
> within the main source tree and don't depend on git for the port--
>
> post-extract:
> # tanslations
>     @${MV} ${WRKDIR}/sambler-myblendertranslations-*/*
>       ${WRKSRC}/release/datafiles/locale/
> # addons
>     @${MV} ${WRKDIR}/sambler-myblenderaddons-*/*
>       ${WRKSRC}/release/scripts/addons/
> # contrib
>     @${MV} ${WRKDIR}/sambler-myblendercontrib-*/*
>       ${WRKSRC}/release/scripts/addons_contrib/
>
>
>> 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?
>>
>> Cheers,
>>
>>
>> Jon
>> -- 
>> jonathan at FreeBSD.org
>> _______________________________________________
>> freebsd-ports at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
>>
>
>


More information about the freebsd-ports mailing list