summaryrefslogtreecommitdiff
path: root/scripts/oe-git-proxy-socks-command
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/oe-git-proxy-socks-command')
-rwxr-xr-xscripts/oe-git-proxy-socks-command23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/oe-git-proxy-socks-command b/scripts/oe-git-proxy-socks-command
new file mode 100755
index 000000000..8acffb524
--- /dev/null
+++ b/scripts/oe-git-proxy-socks-command
@@ -0,0 +1,23 @@
+#! /bin/bash
+SCRIPTDIR=`dirname $0`
+# Check oe-git-proxy-socks exists
+PROXYSOCKS=`which oe-git-proxy-socks 2> /dev/null`
+if [ -z "$PROXYSOCKS" -a -e "$SCRIPTDIR/oe-git-proxy-socks.c" ]; then
+ # If not try and build it
+ gcc $SCRIPTDIR/oe-git-proxy-socks.c -o $SCRIPTDIR/oe-git-proxy-socks
+fi
+PROXYSOCKS=`which oe-git-proxy-socks 2> /dev/null`
+if [ ! -x "$PROXYSOCKS" ]; then
+ # If that fails, we can see if netcat (nc) is available
+ NETCAT=`which nc 2> /dev/null`
+ if [ ! -x "$NETCAT" ]; then
+ # If that fails, explain to the user
+ echo "Unable to find oe-git-proxy-socks. This is usually created with the command"
+ echo "'gcc scripts/oe-git-proxy-socks.c -o scripts/oe-git-proxy-socks' which we tried"
+ echo "but it doesn't seem to have worked. Please compile the binary manually."
+ echo "Alternativly, install nc (netcat) on this machine."
+ exit 1
+ fi
+ exec $NETCAT -x $GIT_PROXY_HOST:$GIT_PROXY_PORT "$@"
+fi
+oe-git-proxy-socks -S $GIT_PROXY_HOST:$GIT_PROXY_PORT $@