Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 May 2015 11:00:16 -0230
From:      Jonathan Anderson <jonathan.robert.anderson@gmail.com>
To:        Shane Ambler <FreeBSD@ShaneWare.Biz>
Cc:        Jonathan Anderson <jonathan@FreeBSD.org>, freebsd-ports@freebsd.org
Subject:   Re: USE_GITHUB and submodules
Message-ID:  <555C8C68.9060705@gmail.com>
In-Reply-To: <555BD95A.6010706@ShaneWare.Biz>
References:  <555B84AA.30901@FreeBSD.org> <555BD95A.6010706@ShaneWare.Biz>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@FreeBSD.org
>> _______________________________________________
>> freebsd-ports@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"
>>
>
>

-- 
jonathan.anderson@ieee.org




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?555C8C68.9060705>