Commit 4f6c02672aeccb762f57441e4d5433caf2ed6789

Authored by Antonio Terceiro
1 parent b429f99b

HTTP Proxy setup

Showing 2 changed files with 47 additions and 7 deletions   Show diff stats
dev-install.sh
... ... @@ -3,20 +3,28 @@
3 3 set -e
4 4  
5 5 vagrant up
6   -host=$(vagrant ssh-config | awk '{ if ($1 == "HostName") { print($2) }}')
7   -port=$(vagrant ssh-config | awk '{ if ($1 == "Port") { print($2) }}')
8   -key=$(vagrant ssh-config | awk '{ if ($1 == "IdentityFile") { print($2) }}')
  6 +
  7 +if [ -z "$http_proxy" ]; then
  8 + http_proxy=$(vagrant ssh -- sh -c '. /etc/profile.d/http_proxy.sh 2>/dev/null; echo $http_proxy')
  9 +fi
  10 +
  11 +if [ -z "$http_proxy" ]; then
  12 + printf "HTTP Proxy[none]: "
  13 + read http_proxy
  14 +fi
9 15  
10 16 if [ -n "$http_proxy" ]; then
11   - proxy="\"command_prefixes\": [\"http_proxy='$http_proxy'\"],"
12   -else
13   - proxy=
  17 + vagrant ssh -- sudo /vagrant/proxy.sh $http_proxy
  18 + export http_proxy
14 19 fi
15 20  
  21 +host=$(vagrant ssh-config | awk '{ if ($1 == "HostName") { print($2) }}')
  22 +port=$(vagrant ssh-config | awk '{ if ($1 == "Port") { print($2) }}')
  23 +key=$(vagrant ssh-config | awk '{ if ($1 == "IdentityFile") { print($2) }}')
  24 +
16 25 cat > colab/environments.json <<EOF
17 26 {
18 27 "dev": {
19   - $proxy
20 28 "hosts": ["$host"],
21 29 "key_filename": "$key",
22 30 "port": "$port",
... ...
proxy.sh 0 → 100755
... ... @@ -0,0 +1,32 @@
  1 +#!/bin/sh
  2 +
  3 +set -e
  4 +
  5 +if [ -n "$1" ]; then
  6 + http_proxy="$1"
  7 +fi
  8 +
  9 +if [ -z "$http_proxy" ]; then
  10 + echo "No http_proxy in command line or environment!"
  11 + echo
  12 + echo "usage: $0 [HTTP_PROXY]"
  13 + exit 1
  14 +fi
  15 +
  16 +cat > /etc/profile.d/http_proxy.sh<<EOF
  17 +export http_proxy='$http_proxy'
  18 +export HTTP_PROXY='$http_proxy'
  19 +EOF
  20 +
  21 +if test -f /etc/yum.conf; then
  22 + sed -i -e '/proxy=/d; /http_caching=/ d' /etc/yum.conf
  23 + sed -i -s '/\[main\]/ a http_caching=packages' /etc/yum.conf
  24 + sed -i -s '/\[main\]/ a proxy='$http_proxy /etc/yum.conf
  25 +
  26 + sed -i -e 's/^enabled=.*/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf
  27 +
  28 + if [ ! -f /var/tmp/yum-clean.stamp ]; then
  29 + pgrep -f yum || yum clean all || true
  30 + touch /var/tmp/yum-clean.stamp
  31 + fi
  32 +fi
... ...