running make makesum for multiple github repos

Shane Ambler FreeBSD at ShaneWare.Biz
Tue Nov 29 04:34:10 UTC 2016


On 27/11/2016 23:27, Willem Jan Withagen wrote:
> On 27-11-2016 13:34, Mathieu Arnold wrote:
>> Le 27/11/2016 à 12:57, Willem Jan Withagen a écrit :
>>> On 26-11-2016 21:10, Mathieu Arnold wrote:
>>>> Le 25/11/2016 à 12:46, Willem Jan Withagen a écrit :
>>>>> Hi,
>>>>>
>>>>> I'm try in to make a port for Ceph, but it depens on a lot of github
>>>>> modules.

> In the fourth field the group is required, and subdir is optional.
>
>> The GH_TUPLE format is a bit strange, I agree, but the subdirectory
>> could not be put in another place because the third field (commit or
>> tag) can contain a / (there are a few examples in the tree), and the
>> path can contain a : (I stumbled upon one).
>> Also, GH_SUBDIR is optional, and it was a bad idea to put an optional
>> part in the middle of the string.
>> (And I'm not talking about the fact that GH_SUBDIR is newer than
>> GH_TUPLE, and that backward compatibility needed to be kept.)
>
> GH_TUPLE is also not very often used in the ports. So there are not that
> many examples to find. And I appreciate backwards compatibility, and
> starting to escape chars will not make it more ledgible.
>
>>> It now looks like:
>>> GH_TUPLE+=      ceph:xxHash:v0.5.1-2-g1f40c65:xxHash/src/xxHash
>>> GH_TUPLE+=      ceph:isa-l:v2.16.0:isal/src/isa-l
>>> GH_TUPLE+=      ceph:lua:lua-5.3-ceph:lua/src/lua
>>> GH_TUPLE+=      ceph:Beast:999e2fa:Beast/src/Beast
>>> GH_TUPLE+=      boostorg:boost:boost-1.61.0-275-g1790aff:boost/src/boost
>>> GH_TUPLE+=      ceph:dpdk:a38e5ec:dpd/src/dpd
>>
>> 1:
>> https://www.freebsd.org/doc/en/books/porters-handbook/makefile-distfiles.html#makefile-master_sites-github
>>
>
> That is where i got my info...

The trouble I had using multiple github repos when it was first setup
(before GH_TUPLE) was that you *MUST* use the default group - that is
one tuple with no group name or using the group name of DEFAULT and no
subdir, the default repo is set as WRKSRC and is the base dir that the
other subdirs are relative to.

That would be the point that makes the manual mis-leading as the
examples use a group name for both repos. In example 5.4 under the
sample makefile it reads "This will fetch three distribution files from
github. The default one comes from foo/foo and is version 1.0.2." that
means the not-so-obvious default repo is using an automatically
generated tuple from ${PORTNAME}:${PORTNAME}:${PORTVERSION}

So I get makesum to work by using a default tuple -

GH_TUPLE=	wjwithagen:ceph:64bcf92
GH_TUPLE+=	facebook:rocksdb:6370c43:rocksdb/src/rocksdb
GH_TUPLE+= 
ceph:ceph-erasure-code-corpus:b5c8634:cepherasure/ceph-erasure-code-corpus
GH_TUPLE+=	ceph:ceph-object-corpus:bb3cee6:cephobject/ceph-object-corpus
GH_TUPLE+=	ceph:civetweb:v1.5:civetweb/src/civetweb
GH_TUPLE+=	ceph:jerasure:v2-ceph:jerasure/src/erasure-code/jerasure/jerasure
GH_TUPLE+= 
ceph:gf-complete:v3-ceph:gfcomplete/src/erasure-code/jerasure/gf-complete
GH_TUPLE+=	ceph:googletest:ceph-release-1.7.x:googletest/src/googletest
GH_TUPLE+=	ceph:spdk:v1.2.0:spdk/src/spdk
GH_TUPLE+=	ceph:xxHash:v0.5.1:xxhash/src/xxHash
GH_TUPLE+=	ceph:isa-l:v2.16.0:isa/src/isa-l
GH_TUPLE+=	ceph:lua:lua-5.3-ceph:lua/src/lua
GH_TUPLE+=	ceph:Beast:999e2fa:beast/src/Beast
GH_TUPLE+=	boostorg:boost:boost-1.61.0:boost/src/boost
GH_TUPLE+=	ceph:dpdk:a38e5ec:dpdk/src/dpdk


-- 
FreeBSD - the place to B...Software Developing

Shane Ambler



More information about the freebsd-ports mailing list