From 09389db74508184b7bcf85d8d6daf144d913b208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20K=C3=B6rber?= Date: Sun, 3 Oct 2021 21:38:52 +0200 Subject: [PATCH] Install go manually --- packages.yml | 6 +++--- playbook.yml | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ zsh/zprofile.j2 | 1 + 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/packages.yml b/packages.yml index 309bbf2..52b2cf7 100644 --- a/packages.yml +++ b/packages.yml @@ -11,9 +11,6 @@ packages: - cmake - maven - base-devel - golang: - ubuntu: ["golang-go"] - archlinux: ["go"] make: ubuntu: ["make"] archlinux: ["make"] @@ -400,3 +397,6 @@ packages: snap: ubuntu: ["snapd"] archlinux: [] + golang: + ubuntu: ["golang-go"] + archlinux: ["go"] diff --git a/playbook.yml b/playbook.yml index 488742c..39799ec 100644 --- a/playbook.yml +++ b/playbook.yml @@ -507,6 +507,60 @@ when: distro == 'ubuntu' tags: [signal] + - block: + - name: set go version + set_fact: + go_version: "1.17.1" + + - name: stat go target directory + stat: + path: /usr/local/go-v{{ go_version }} + register: go_target_stat + + - block: + - name: create temporary directory for go download + tempfile: + state: directory + register: go_download + + - name: download go + get_url: + url: https://golang.org/dl/go{{ go_version }}.linux-amd64.tar.gz + dest: "{{ go_download.path }}/go{{ go_version }}.linux-amd64.tar.gz" + + - name: unpack go + unarchive: + src: "{{ go_download.path }}/go{{ go_version }}.linux-amd64.tar.gz" + owner: root + group: root + mode: '0755' + dest: "{{ go_download.path }}" + remote_src: true + become: true + + - name: install new go version + command: mv "{{ go_download.path }}/go/" /usr/local/go-v{{ go_version }} + become: true + + - name: clean up go download directory + file: + path: "{{ go_download.path }}" + state: absent + + when: not go_target_stat.stat.exists + + - name: link to the current go version + file: + src: /usr/local/go-v{{ go_version }} + dest: /usr/local/go + owner: root + group: root + state: link + force: true + become: true + + tags: [go] + - name: create dotfiles group group: name: dotfiles diff --git a/zsh/zprofile.j2 b/zsh/zprofile.j2 index a4541b2..3d3e77f 100644 --- a/zsh/zprofile.j2 +++ b/zsh/zprofile.j2 @@ -1,5 +1,6 @@ _path=("$HOME/bin" "$HOME/.optbin" + "/usr/local/go/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin"