[bitbake-devel] [PATCH] bb.fetch.git: add a way to avoid git protocol, and force http or https mirrors
Mark Hatle
mark.hatle at windriver.com
Tue Jul 25 14:43:54 UTC 2017
On 7/24/17 4:04 PM, Andre McCurdy wrote:
> On Tue, May 31, 2016 at 6:50 AM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
>> On Tue, 2016-05-31 at 15:18 +0200, fabien.proriolpatch at kazoe.org wrote:
>>> From: Fabien Proriol <fabien.proriol at jdsu.com>
>>>
>>> This patch add the possibility to bitbake to avoid git protocol to
>>> fetch sources.
>>> This is usefull in some network with firewall blocking git port.
>>>
>>> When BB_GIT_PROTOCOL_FIREWALL is set, the PROTOCOL_MIRRORS table is
>>> used to find the new protocol (http or https) and the new host (if
>>> different) to used.
>>>
>>> BB_GIT_PROTOCOL_FIREWALL can also contains a list of host accepted.
>>> This is usefull for exemple, if we use local git repository inside
>>> the network.
>>>
>>> Exemple usage:
>>> # Avoid all git protocol
>>> BB_GIT_PROTOCOL_FIREWALL = "1"
>>>
>>> # Avoid git protocol, except for srv1 and srv2 in local network
>>> BB_GIT_PROTOCOL_FIREWALL = "srv1.mydomain.com;srv2.mydomain.com"
>>
>> Why not use the more generic MIRRORS and PREMIRRORS for this? If they
>> can't support this, we likely should figure out a way to make them work
>> for it rather than adding new fetcher specific variables.
>
> Sorry for resurrecting such an old thread, but I'm wondering if
> there's been any more work on an upstreamable solution?
>
> The problem being that recipes which define SRC_URI to git://* with
> protocol=git (or with protocol unspecified, since git is the default)
> fail during fetching for users working behind a firewall which blocks
> the native git protocol.
>
> Although MIRRORS and PREMIRRORS allow mapping from one host to another
> there's no support for mapping one git fetch protocol to another and
> it looks like extending the MIRRORS syntax to support that would be a
> non-trivial change...
Won't the following work:
PREMIRRORS_append = " \
git://.*/.* git://HOST/PATH;protocol=https \n \
git://.*/.* git://HOST/PATH;protocol=http \n \
"
Note: I've not actually tried the above, but I expect it will work. We do
something similar to provide local (on-disk) git caches using:
git://.*/.* git://${LAYERDIR}/git/MIRRORNAME;protocol=file
--Mark
>> Cheers,
>>
>> Richard
>> --
>> _______________________________________________
>> bitbake-devel mailing list
>> bitbake-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/bitbake-devel
More information about the bitbake-devel
mailing list