From dd7d5cf2064969fdfd471ed4c1f9f1ac4cebe2c7 Mon Sep 17 00:00:00 2001 From: Pig Monkey Date: Thu, 31 Mar 2016 11:17:33 -0700 Subject: [PATCH] install cli53 I don't know if this is the best way to handle building go packages. Basically the idea is to treat GOPATH like python virtualenvs. A different one for each thing we install. I'm open to other ideas (or just moving the root to someplace other than /usr/local/go). --- playbook.yml | 1 + roles/cli53/meta/main.yml | 3 +++ roles/cli53/tasks/main.yml | 24 ++++++++++++++++++++++++ roles/golang/tasks/main.yml | 12 ++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 roles/cli53/meta/main.yml create mode 100644 roles/cli53/tasks/main.yml create mode 100644 roles/golang/tasks/main.yml diff --git a/playbook.yml b/playbook.yml index d701d9f..2990062 100644 --- a/playbook.yml +++ b/playbook.yml @@ -50,6 +50,7 @@ - { role: formd, tags: ['formd'] } - { role: postgresql, tags: ['postgresql'] } - { role: calibre, tags: ['calibre'] } + - { role: cli53, tags: ['cli53'] } vars_prompt: - name: user_password prompt: "Enter desired user password" diff --git a/roles/cli53/meta/main.yml b/roles/cli53/meta/main.yml new file mode 100644 index 0000000..5ede082 --- /dev/null +++ b/roles/cli53/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - { role: golang } diff --git a/roles/cli53/tasks/main.yml b/roles/cli53/tasks/main.yml new file mode 100644 index 0000000..345ed88 --- /dev/null +++ b/roles/cli53/tasks/main.yml @@ -0,0 +1,24 @@ +--- +- name: Download cli53 + command: go get github.com/barnybug/cli53 + creates=/usr/local/go/cli53 + environment: + GO15VENDOREXPERIMENT: 1 + GOPATH: /usr/local/go/cli53 + become: yes + become_user: "{{ user.name }}" + +- name: Make cli53 + command: make install + chdir=/usr/local/go/cli53/src/github.com/barnybug/cli53 + creates=/usr/local/go/cli53/bin/cli53 + environment: + GO15VENDOREXPERIMENT: 1 + GOPATH: /usr/local/go/cli53 + become: yes + become_user: "{{ user.name }}" + +- name: Link cli53 to bin + file: src=/usr/local/go/cli53/bin/cli53 + dest=/usr/local/bin/cli53 + state=link diff --git a/roles/golang/tasks/main.yml b/roles/golang/tasks/main.yml new file mode 100644 index 0000000..ad5d84d --- /dev/null +++ b/roles/golang/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: Install go + pacman: name=go state=present + +- name: Create system go group + group: name=golang state=present + +- name: Add user to system golang group + user: name={{ user.name }} groups=golang append=yes + +- name: Create system go dir + file: path=/usr/local/go state=directory group=golang mode=0775