devenv_build 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/devenv_build/files/provision.rb +12 -9
- data/lib/devenv_build/files/vagrantfile.rb +33 -10
- data/lib/devenv_build/provisioning.rb +8 -9
- data/lib/devenv_build/provisioning/clojure.rb +31 -0
- data/lib/devenv_build/provisioning/haskell.rb +2 -2
- data/lib/devenv_build/provisioning/nginx.rb +13 -0
- data/lib/devenv_build/provisioning/nodejs.rb +1 -1
- data/lib/devenv_build/provisioning/{nginx_passenger.rb → passenger.rb} +4 -4
- data/lib/devenv_build/provisioning/postgresql.rb +7 -5
- data/lib/devenv_build/provisioning/ruby.rb +11 -11
- data/lib/devenv_build/provisioning/ruby_on_rails.rb +0 -2
- data/lib/devenv_build/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d918c2a226ca1b85dfcd9052f0ac6a1b45004d3
|
4
|
+
data.tar.gz: 3cc04ffc3dbc74857d4cd3885426edcdd6960312
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4b02dc50129cc74d7a23b95c5b6126983e811d4477dd2e37d813fa3ac5787587968a544b9f91ae1295197c0860a3bf7fa08b00c5eee93dfaac7f01da2dd0abf
|
7
|
+
data.tar.gz: c4cc90425f62d1b92307586f5afafd5d55bd1564ce5cbba6751ca807548d239241efd3e08af65b213e534294c059b7807013221a6cb9a12eaa3817238023e8a5
|
@@ -26,13 +26,16 @@ echo "Setting up locales..."
|
|
26
26
|
|
27
27
|
echo "Setting up APT mirrors..."
|
28
28
|
`cat >/etc/apt/sources.list <<\\EOF
|
29
|
-
deb mirror://mirrors.ubuntu.com/mirrors.txt
|
30
|
-
deb mirror://mirrors.ubuntu.com/mirrors.txt
|
31
|
-
deb mirror://mirrors.ubuntu.com/mirrors.txt
|
32
|
-
deb mirror://mirrors.ubuntu.com/mirrors.txt
|
29
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial main restricted universe multiverse
|
30
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-updates main restricted universe multiverse
|
31
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-backports main restricted universe multiverse
|
32
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-security main restricted universe multiverse
|
33
33
|
EOF
|
34
34
|
`
|
35
35
|
|
36
|
+
USER=`tail -n 1 /etc/passwd | sed s/:.*//g`
|
37
|
+
HOME="/home/$USER"
|
38
|
+
|
36
39
|
export DEBIAN_FRONTEND=noninteractive
|
37
40
|
|
38
41
|
apt-get -y update
|
@@ -60,15 +63,15 @@ hostname devenv
|
|
60
63
|
|
61
64
|
# Setup environment
|
62
65
|
echo "Setup environment..."
|
63
|
-
`cat
|
66
|
+
`cat >$HOME/.environment.sh <<\\EOF
|
64
67
|
# Environment variables
|
65
68
|
export PS1="[\\[\\033[1;34m\\]\\u\\[\\033[0m\\]@\\h:\\[\\033[1;37m\\]\\w\\[\\033[0m\\]]$ "
|
66
69
|
EOF
|
67
70
|
`
|
68
|
-
echo 'source ~/.environment.sh' >>
|
69
|
-
touch
|
70
|
-
chown
|
71
|
-
chown
|
71
|
+
echo 'source ~/.environment.sh' >> $HOME/.bash_profile
|
72
|
+
touch $HOME/.secret_keys.sh
|
73
|
+
chown $USER:$USER $HOME/.environment.sh
|
74
|
+
chown $USER:$USER $HOME/.secret_keys.sh
|
72
75
|
|
73
76
|
## AFTER ##############################################################################################
|
74
77
|
#{after}
|
@@ -13,24 +13,47 @@ module DevenvBuild
|
|
13
13
|
# vi: set ft=ruby :
|
14
14
|
|
15
15
|
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
16
|
-
VAGRANTFILE_API_VERSION =
|
16
|
+
VAGRANTFILE_API_VERSION = '2'
|
17
|
+
|
18
|
+
VAGRANT_BOX_NAME = '#{box_name}'
|
19
|
+
|
20
|
+
VAGRANT_PROVIDER = :virtualbox
|
21
|
+
|
22
|
+
PROVIDERS = {
|
23
|
+
virtualbox: {
|
24
|
+
box: 'ubuntu/xenial64',
|
25
|
+
shared_folder: [ '.', '/vagrant', type: 'nfs' ],
|
26
|
+
configuration: proc do |v|
|
27
|
+
v.name = VAGRANT_BOX_NAME
|
28
|
+
v.memory = 1024
|
29
|
+
v.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
|
30
|
+
v.customize ['modifyvm', :id, '--natdnsproxy1', 'on']
|
31
|
+
end
|
32
|
+
},
|
33
|
+
parallels: {
|
34
|
+
box: 'parallels/ubuntu-16.04',
|
35
|
+
shared_folder: [ '.', '/vagrant'],
|
36
|
+
configuration: proc do |v|
|
37
|
+
v.name = VAGRANT_BOX_NAME
|
38
|
+
v.memory = 1024
|
39
|
+
v.update_guest_tools = true
|
40
|
+
end
|
41
|
+
}
|
42
|
+
}
|
17
43
|
|
18
44
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
19
|
-
config.vm.box =
|
45
|
+
config.vm.box = PROVIDERS[VAGRANT_PROVIDER][:box]
|
20
46
|
|
21
47
|
config.vm.network "private_network", ip: "192.168.50.4"
|
22
48
|
config.vm.network "forwarded_port", guest: 3000, host: 3000
|
23
|
-
config.
|
49
|
+
config.vm.network "forwarded_port", guest: 7000, host: 7000
|
50
|
+
config.vm.network "forwarded_port", guest: 8000, host: 8000
|
24
51
|
|
25
|
-
config.
|
52
|
+
config.ssh.forward_agent = true
|
26
53
|
config.vm.provision "shell", path: "provision/provision.sh"
|
27
54
|
|
28
|
-
config.vm.
|
29
|
-
|
30
|
-
v.memory = 1024
|
31
|
-
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
32
|
-
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
|
33
|
-
end
|
55
|
+
config.vm.synced_folder(*PROVIDERS[VAGRANT_PROVIDER][:shared_folder])
|
56
|
+
config.vm.provider VAGRANT_PROVIDER, &PROVIDERS[VAGRANT_PROVIDER][:configuration]
|
34
57
|
end
|
35
58
|
EOF
|
36
59
|
end
|
@@ -30,15 +30,14 @@ module DevenvBuild
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
require 'devenv_build/provisioning/
|
34
|
-
require 'devenv_build/provisioning/nodejs'
|
35
|
-
require 'devenv_build/provisioning/rustlang'
|
33
|
+
require 'devenv_build/provisioning/clojure'
|
36
34
|
require 'devenv_build/provisioning/haskell'
|
37
|
-
require 'devenv_build/provisioning/
|
38
|
-
|
39
|
-
require 'devenv_build/provisioning/
|
40
|
-
|
35
|
+
require 'devenv_build/provisioning/nginx'
|
36
|
+
require 'devenv_build/provisioning/nodejs'
|
37
|
+
require 'devenv_build/provisioning/passenger'
|
41
38
|
require 'devenv_build/provisioning/postgresql'
|
42
39
|
require 'devenv_build/provisioning/redis'
|
43
|
-
|
44
|
-
require 'devenv_build/provisioning/
|
40
|
+
require 'devenv_build/provisioning/ruby'
|
41
|
+
require 'devenv_build/provisioning/ruby_on_rails'
|
42
|
+
require 'devenv_build/provisioning/rustlang'
|
43
|
+
require 'devenv_build/provisioning/sbcl'
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module DevenvBuild
|
2
|
+
module Provisioning
|
3
|
+
class Clojure < Base
|
4
|
+
def help
|
5
|
+
'Install Clojure (with Leiningen).'
|
6
|
+
end
|
7
|
+
|
8
|
+
def before
|
9
|
+
<<-BEFORE
|
10
|
+
apt-get -y install default-jre default-jdk
|
11
|
+
|
12
|
+
mkdir -p $HOME/bin
|
13
|
+
chown $USER:$USER $HOME/bin
|
14
|
+
BEFORE
|
15
|
+
end
|
16
|
+
|
17
|
+
def middle
|
18
|
+
<<-BEFORE
|
19
|
+
# Leiningen
|
20
|
+
wget -q -O $HOME/bin/lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
|
21
|
+
chmod a+x $HOME/bin/lein
|
22
|
+
chown $USER:$USER $HOME/bin/lein
|
23
|
+
BEFORE
|
24
|
+
end
|
25
|
+
|
26
|
+
def after
|
27
|
+
"echo 'export PATH=\"$PATH:~/bin\"' >> $HOME/.bash_profile"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -2,11 +2,11 @@ module DevenvBuild
|
|
2
2
|
module Provisioning
|
3
3
|
class Haskell < Base
|
4
4
|
def help
|
5
|
-
'Install the Haskell programming language
|
5
|
+
'Install the Haskell programming language and tools.'
|
6
6
|
end
|
7
7
|
|
8
8
|
def middle
|
9
|
-
'
|
9
|
+
'curl -sSL https://get.haskellstack.org/ | sh'
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module DevenvBuild
|
2
2
|
module Provisioning
|
3
|
-
class
|
3
|
+
class Passenger < Base
|
4
4
|
def help
|
5
|
-
'Install
|
5
|
+
'Install Phusion Passenger + Passenger.'
|
6
6
|
end
|
7
7
|
|
8
8
|
def before
|
9
9
|
<<-BEFORE
|
10
10
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
|
11
11
|
apt-get install -y apt-transport-https ca-certificates
|
12
|
-
echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger
|
12
|
+
echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main" > /etc/apt/sources.list.d/passenger.list
|
13
13
|
BEFORE
|
14
14
|
end
|
15
15
|
|
@@ -18,7 +18,7 @@ BEFORE
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def after
|
21
|
-
'perl -i -p -e \'s/# passenger_root \/usr\/lib\/ruby\/vendor_ruby\/phusion_passenger\/locations\.ini\;\n/passenger_root \/usr\/lib\/ruby\/vendor_ruby\/phusion_passenger\/locations.ini;\n\tpassenger_ruby
|
21
|
+
'perl -i -p -e \'s/# passenger_root \/usr\/lib\/ruby\/vendor_ruby\/phusion_passenger\/locations\.ini\;\n/passenger_root \/usr\/lib\/ruby\/vendor_ruby\/phusion_passenger\/locations.ini;\n\tpassenger_ruby ~\/.rbenv\/shims\/ruby;\n/\' /etc/nginx/nginx.conf'
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -13,15 +13,17 @@ BEFORE
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def middle
|
16
|
-
"apt-get -y install postgresql
|
16
|
+
"apt-get -y install postgresql postgresql-contrib libpq-dev"
|
17
17
|
end
|
18
18
|
|
19
19
|
def after
|
20
20
|
<<-AFTER
|
21
|
-
|
22
|
-
|
23
|
-
sudo -u postgres
|
24
|
-
|
21
|
+
PG_VERSION=`pg_lsclusters | tail -n 1 | awk '{ print $1 }'`
|
22
|
+
|
23
|
+
sudo -u postgres pg_dropcluster --stop $PG_VERSION main
|
24
|
+
sudo -u postgres pg_createcluster --start $PG_VERSION main
|
25
|
+
sudo -u postgres createuser -d -R -w -S $USER
|
26
|
+
perl -i -p -e 's/local all all peer/local all all trust/' /etc/postgresql/$PG_VERSION/main/pg_hba.conf
|
25
27
|
AFTER
|
26
28
|
end
|
27
29
|
end
|
@@ -8,8 +8,8 @@ module DevenvBuild
|
|
8
8
|
def before
|
9
9
|
<<-BEFORE
|
10
10
|
execute_with_rbenv () {
|
11
|
-
`cat
|
12
|
-
export HOME
|
11
|
+
`cat >$HOME/temp-script.sh <<\\EOF
|
12
|
+
export HOME=$HOME
|
13
13
|
if [ -d $HOME/.rbenv ]; then
|
14
14
|
export PATH=\"$HOME/.rbenv/bin:$PATH\"
|
15
15
|
eval \"$(rbenv init -)\"
|
@@ -17,31 +17,31 @@ fi
|
|
17
17
|
|
18
18
|
EOF
|
19
19
|
`
|
20
|
-
echo $1 >> /
|
21
|
-
chmod +x /
|
22
|
-
su
|
23
|
-
rm /
|
20
|
+
echo $1 >> $HOME/temp-script.sh
|
21
|
+
chmod +x $HOME/temp-script.sh
|
22
|
+
su $USER -c \"bash -c $HOME/temp-script.sh\"
|
23
|
+
rm $HOME/temp-script.sh
|
24
24
|
}
|
25
25
|
BEFORE
|
26
26
|
end
|
27
27
|
|
28
28
|
def middle
|
29
29
|
<<-MIDDLE
|
30
|
-
`cat
|
30
|
+
`cat >$HOME/install_rbenv.sh <<\\EOF
|
31
31
|
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
|
32
32
|
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
|
33
33
|
echo 'export PATH=\"$HOME/.rbenv/bin:$PATH\"' >> ~/.bash_profile
|
34
34
|
echo 'eval \"$(rbenv init -)\"' >> ~/.bash_profile
|
35
35
|
EOF
|
36
36
|
`
|
37
|
-
chmod +x /
|
38
|
-
su
|
39
|
-
rm /
|
37
|
+
chmod +x $HOME/install_rbenv.sh
|
38
|
+
su $USER -c \"bash -c $HOME/install_rbenv.sh\"
|
39
|
+
rm $HOME/install_rbenv.sh
|
40
40
|
|
41
41
|
sudo apt-get -y install zlib1g-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev \\
|
42
42
|
sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev libffi-dev
|
43
43
|
|
44
|
-
execute_with_rbenv \"rbenv install 2.
|
44
|
+
execute_with_rbenv \"rbenv install 2.4.2 ; rbenv global 2.4.2\"
|
45
45
|
MIDDLE
|
46
46
|
end
|
47
47
|
end
|
data/lib/devenv_build/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devenv_build
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francisco Soto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,9 +67,11 @@ files:
|
|
67
67
|
- lib/devenv_build/files/provision.rb
|
68
68
|
- lib/devenv_build/files/vagrantfile.rb
|
69
69
|
- lib/devenv_build/provisioning.rb
|
70
|
+
- lib/devenv_build/provisioning/clojure.rb
|
70
71
|
- lib/devenv_build/provisioning/haskell.rb
|
71
|
-
- lib/devenv_build/provisioning/
|
72
|
+
- lib/devenv_build/provisioning/nginx.rb
|
72
73
|
- lib/devenv_build/provisioning/nodejs.rb
|
74
|
+
- lib/devenv_build/provisioning/passenger.rb
|
73
75
|
- lib/devenv_build/provisioning/postgresql.rb
|
74
76
|
- lib/devenv_build/provisioning/redis.rb
|
75
77
|
- lib/devenv_build/provisioning/ruby.rb
|
@@ -97,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
99
|
version: '0'
|
98
100
|
requirements: []
|
99
101
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.
|
102
|
+
rubygems_version: 2.6.13
|
101
103
|
signing_key:
|
102
104
|
specification_version: 4
|
103
105
|
summary: Development environment builder based on Vagrant and VirtualBox.
|