From 1475a69efda4e05b559d7868020f3c0d0f599cb4 Mon Sep 17 00:00:00 2001 From: Harald Pfeiffer Date: Mon, 21 Mar 2022 11:21:28 +0100 Subject: distribution mechanism, more targets in make --- .gitignore | 1 + Makefile | 19 +++++++++++++++---- distrib.yml | 24 ++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 distrib.yml diff --git a/.gitignore b/.gitignore index 473966f..97947dc 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ !/distribute /distribute/* !/distribute/.gitkeep +!/distrib.yml !/.flake8 !/.forbidden_modules !/.gitconfig diff --git a/Makefile b/Makefile index f61918c..0a35cc0 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,20 @@ VERSION = 3.82 -all: tarball +all: tempdirs tarball removedirs distrib removetar tarball: + rsync -avu bin .bash .bash_profile .bashrc .flake8 .gitconfig .perlcriticrc .profile .pylintrc .tmux.conf .tmux.conf.local tmux-gpakosz tmux-yank --exclude=.git --exclude=.gitattributes --exclude=.github --exclude=.gitignore --exclude='LICENSE*' --exclude='README*' distribute/tar/ + tar -C distribute/tar -cvJf dotfiles.tar.xz . + rm -vrf distribute/tar + +tempdirs: @mkdir -pv distribute/tar - @rsync -avu bin .bash .bash_profile .bashrc .flake8 .gitconfig .perlcriticrc .profile .pylintrc .tmux.conf .tmux.conf.local tmux-gpakosz tmux-yank --exclude=.git --exclude=.gitattributes --exclude=.github --exclude=.gitignore --exclude='LICENSE*' --exclude='README*' distribute/tar/ - @tar -C distribute/tar -cvJf distrib.tar.xz . - @rm -vrf distribute/tar + +removedirs: + rm -rf distribute/tar + +distrib: + ansible-playbook distrib.yml + +removetar: + @rm -vf dotfiles.tar.xz diff --git a/distrib.yml b/distrib.yml new file mode 100644 index 0000000..aa9565a --- /dev/null +++ b/distrib.yml @@ -0,0 +1,24 @@ +--- +- hosts: "{{ lookup('env', 'DFDISTRIB') }}" + gather_facts: false + vars: + ansible_python_interpreter: "auto_silent" + tasks: + - name: "Copy dotfiles.tar.xz to remote" + copy: + src: "dotfiles.tar.xz" + dest: "~/dotfiles.tar.xz" + mode: "0640" + - name: "Unpack dotfiles.tar.xz" + unarchive: + dest: "~/" + src: "dotfiles.tar.xz" + remote_src: "yes" + list_files: "yes" + - name: "Remove tarball on remote" + file: + path: "~/dotfiles.tar.xz" + state: "absent" + tags: + - "never" + - "removal" -- cgit v1.2.3