From owner-freebsd-ports@freebsd.org Tue Nov 29 04:34:10 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6EB07C5B3D1 for ; Tue, 29 Nov 2016 04:34:10 +0000 (UTC) (envelope-from FreeBSD@shaneware.biz) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6C91C54 for ; Tue, 29 Nov 2016 04:34:10 +0000 (UTC) (envelope-from FreeBSD@shaneware.biz) Received: by mailman.ysv.freebsd.org (Postfix) id 5AC2AC5B3CF; Tue, 29 Nov 2016 04:34:10 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A5DCC5B3CD for ; Tue, 29 Nov 2016 04:34:10 +0000 (UTC) (envelope-from FreeBSD@shaneware.biz) Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by mx1.freebsd.org (Postfix) with ESMTP id 7096C1C53; Tue, 29 Nov 2016 04:34:08 +0000 (UTC) (envelope-from FreeBSD@shaneware.biz) Received: from ppp121-45-17-13.bras1.adl2.internode.on.net (HELO leader.local) ([121.45.17.13]) by ipmail04.adl6.internode.on.net with ESMTP; 29 Nov 2016 14:58:57 +1030 Subject: Re: running make makesum for multiple github repos To: Willem Jan Withagen , Mathieu Arnold , "ports@freebsd.org" References: <14fe8d55-2d90-d722-653e-ff2df119b408@digiware.nl> <2a5f6706-ec7b-097c-0879-d0e8e85b203b@FreeBSD.org> From: Shane Ambler Message-ID: <75b42364-c530-2139-0fcf-61e1d6a45aec@ShaneWare.Biz> Date: Tue, 29 Nov 2016 14:58:55 +1030 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Nov 2016 04:34:10 -0000 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