public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: Otavio Salvador <otavio@ossystems.com.br>
Cc: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>,
	Poky <poky@yoctoproject.org>,
	Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 7/9] oe-git-proxy: Add a new comprehensive git proxy script
Date: Tue, 05 Feb 2013 16:16:48 -0800	[thread overview]
Message-ID: <5111A0F0.1050503@linux.intel.com> (raw)
In-Reply-To: <CAP9ODKo4YhqUe=GmaQ2LPBjVCW2u6jmox2qrB5JUJRYmdqHwiw@mail.gmail.com>



On 02/05/2013 04:09 PM, Otavio Salvador wrote:
> On Tue, Feb 5, 2013 at 10:04 PM, Darren Hart <dvhart@linux.intel.com> wrote:
>> On 02/05/2013 03:51 PM, Otavio Salvador wrote:
>>> On Tue, Feb 5, 2013 at 8:52 PM, Darren Hart <dvhart@linux.intel.com> wrote:
>>>> oe-git-proxy.sh is a simple tool to be used via GIT_PROXY_COMMAND. It
>>>> uses BSD netcat to make SOCKS5 or HTTPS proxy connections. It uses
>>>> ALL_PROXY to determine the proxy server, protocol, and port. It uses
>>>> NO_PROXY to skip using the proxy for a comma delimited list of hosts,
>>>> host globs (*.example.com), IPs, or CIDR masks (192.168.1.0/24). It is
>>>> known to work with both bash and dash shells.
>>>>
>>>> V2: Implement recommendations by Enrico Scholz:
>>>>     o Use exec for the nc calls
>>>>     o Use "$@" instead of $* to avoid quoting issues inherent with $*
>>>>     o Use bash explicitly and simplify some of the string manipulations
>>>>     Also:
>>>>     o Drop the .sh in the name per Otavio Salvador
>>>>     o Remove a stray debug statement
>>>>
>>>> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
>>>> Cc: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
>>>> Cc: Otavio Salvador <otavio@ossystems.com.br>
>>>> ---
>>>>  scripts/oe-git-proxy |  124 ++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>  1 files changed, 124 insertions(+), 0 deletions(-)
>>>>  create mode 100755 scripts/oe-git-proxy
>>>>
>>>> diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
>>>> new file mode 100755
>>>> index 0000000..4f1871a
>>>> --- /dev/null
>>>> +++ b/scripts/oe-git-proxy
>>>> @@ -0,0 +1,124 @@
>>>> +#!/bin/bash
>>>> +
>>>> +# oe-git-proxy.sh is a simple tool to be via GIT_PROXY_COMMAND. It uses BSD netcat
>>>
>>> Please fix the script name.
>>>
>>>> +# to make SOCKS5 or HTTPS proxy connections. It uses ALL_PROXY to determine the
>>>> +# proxy server, protocol, and port. It uses NO_PROXY to skip using the proxy for
>>>> +# a comma delimited list of hosts, host globs (*.example.com), IPs, or CIDR masks
>>>> +# (192.168.1.0/24). It is known to work with both bash and dash shells.
>>>> +#
>>>> +# BSD netcat is provided by netcat-openbsd on Ubuntu and nc on Fedora.
>>>> +#
>>>> +# Example ALL_PROXY values:
>>>> +# ALL_PROXY=socks://socks.example.com:1080
>>>> +# ALL_PROXY=https://proxy.example.com:8080
>>>> +#
>>>> +# Copyright (c) 2013, Intel Corporation.
>>>> +# All rights reserved.
>>>
>>> And please add a clear license here.
>>
>>
>> Both fixed in the contrib branch. GPL license blurb added.
>>
>> Have you happened to have tested the script?
>>
>> Thanks Otavio.
>
> No; not yet.
>
> I am wondering if the code wouldn't be easier to read if done in
> Python ... the ipv4 stuff is UGLY and hard to follow ... I understand
> it is very simple script but maybe Python would be the right tool for
> it. What do you think?

I had originally written the IP matching stuff in C, but converted to
shell to
keep this script self contained and easily deployable. The proper way to
do this
with python would require the use of external modules, which may or may
not be
installed on the target system. Although I suppose even just replacing this
script and all the math it does in python might be an improvement.
However, For
the purposes of a one-stop-shop example git proxy script for oe-core, I
think
bash still serves us best here. Otherwise, yes, I completely agree it's
horrible
to look at :-)


-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel



  reply	other threads:[~2013-02-06  0:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-05 22:52 [PATCH V2 0/9] Git fetcher and proxy handling updates Darren Hart
2013-02-05 22:52 ` [PATCH 1/9] bitbake: fetch2: Print the complete SRCREV variable name when INVALID Darren Hart
2013-02-05 22:52 ` [PATCH 2/9] bitbake: fetch2: Export upper and lower case environment variables Darren Hart
2013-02-05 22:52 ` [PATCH 3/9] bitbake: fetch2: Remove broken git variables from the environment Darren Hart
2013-02-05 22:52 ` [PATCH 4/9] oe-buildenv-internal: Remove GIT variables from BB_ENV_EXTRAWHITE Darren Hart
2013-02-05 22:52 ` [PATCH 5/9] oe-buildenv-internal: Add upper and lower case proxy vars to BB_ENV_EXTRAWHITE Darren Hart
2013-02-05 22:52 ` [PATCH 6/9] base.bbclass: Remove generate_git_config() Darren Hart
2013-02-05 22:52 ` [PATCH 7/9] oe-git-proxy: Add a new comprehensive git proxy script Darren Hart
2013-02-05 23:51   ` Otavio Salvador
2013-02-06  0:04     ` Darren Hart
2013-02-06  0:09       ` Otavio Salvador
2013-02-06  0:16         ` Darren Hart [this message]
2013-02-05 22:52 ` [PATCH 8/9] meta-yocto: Document new oe-git-proxy in site.conf.sample Darren Hart
2013-02-06  0:24   ` Otavio Salvador
2013-02-06  0:29     ` Darren Hart
2013-02-05 22:52 ` [PATCH 9/9] oe-git-proxy*: Remove previous git proxy solutions Darren Hart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5111A0F0.1050503@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=enrico.scholz@sigma-chemnitz.de \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=otavio@ossystems.com.br \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox