mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-07-27 00:05:44 +02:00
Update to 2021-12-01 19:13
This commit is contained in:
3
roles/rust/defaults/main.yml
Normal file
3
roles/rust/defaults/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
|
||||
rust_root_dir: /opt/rust
|
4
roles/rust/meta/main.yml
Normal file
4
roles/rust/meta/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
|
||||
dependencies:
|
||||
- role: mkdir
|
7
roles/rust/tasks/cleanup.yml
Normal file
7
roles/rust/tasks/cleanup.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Cleanup temp files
|
||||
file: path={{ item }} state=absent
|
||||
loop:
|
||||
- "{{ rust_root_dir }}/tmp/rustup-init"
|
||||
tags: rust
|
8
roles/rust/tasks/directories.yml
Normal file
8
roles/rust/tasks/directories.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Create directories
|
||||
file: path={{ rust_root_dir }}/{{ item }} state=directory
|
||||
loop:
|
||||
- tmp
|
||||
- bin
|
||||
tags: rust
|
6
roles/rust/tasks/facts.yml
Normal file
6
roles/rust/tasks/facts.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
|
||||
- name: Check if rust is installed
|
||||
stat: path={{ rust_root_dir }}/update-hashes/stable-x86_64-unknown-linux-gnu
|
||||
register: rust_hash
|
||||
tags: rust
|
43
roles/rust/tasks/install.yml
Normal file
43
roles/rust/tasks/install.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
|
||||
- when: not rust_hash.stat.exists
|
||||
block:
|
||||
- name: Download rustup script
|
||||
get_url:
|
||||
url: https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init
|
||||
dest: "{{ rust_root_dir }}/tmp"
|
||||
mode: 755
|
||||
tags: rust
|
||||
|
||||
- name: Install rust
|
||||
command: "{{ rust_root_dir }}/tmp/rustup-init -y --no-modify-path"
|
||||
environment:
|
||||
- RUSTUP_HOME: "{{ rust_root_dir }}"
|
||||
- CARGO_HOME: "{{ rust_root_dir }}"
|
||||
tags: rust
|
||||
|
||||
- when: rust_hash.stat.exists and (ansible_date_time.epoch | int - rust_hash.stat.mtime) > (30 * 60 * 60 * 24)
|
||||
block:
|
||||
- name: Update rust
|
||||
command: "{{ rust_root_dir }}/bin/rustup update"
|
||||
environment:
|
||||
- RUSTUP_HOME: "{{ rust_root_dir }}"
|
||||
- CARGO_HOME: "{{ rust_root_dir }}"
|
||||
tags: rust
|
||||
|
||||
- name: Include rust dir in PATH
|
||||
copy:
|
||||
content: |
|
||||
#!/bin/bash
|
||||
export PATH="{{ rust_root_dir }}/bin:$PATH"
|
||||
export RUSTUP_HOME={{ rust_root_dir }}
|
||||
export CARGO_HOME={{ rust_root_dir }}
|
||||
dest: /etc/profile.d/rust.sh
|
||||
mode: 755
|
||||
tags: rust
|
||||
|
||||
- name: Install bash completion
|
||||
shell: "{{ rust_root_dir }}/bin/rustup completions bash > /etc/bash_completion.d/rust"
|
||||
args:
|
||||
creates: /etc/bash_completion.d/rust
|
||||
tags: rust
|
6
roles/rust/tasks/main.yml
Normal file
6
roles/rust/tasks/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
|
||||
- include: facts.yml
|
||||
- include: directories.yml
|
||||
- include: install.yml
|
||||
- include: cleanup.yml
|
Reference in New Issue
Block a user