diff --git a/tasks/install_ta_tools.yml b/tasks/install_ta_tools.yml index 63bbce248a2a55c15d2df6a87d6847b519c7dd80..f156e941272666c62fe06301213b2ae64897a933 100644 --- a/tasks/install_ta_tools.yml +++ b/tasks/install_ta_tools.yml @@ -1,31 +1,53 @@ --- - name: install Git (prerequisite for ansible.builtin.git) ansible.builtin.apt: - name: "git" + name: [ + "git", + "libdist-zilla-perl", + ] state: latest - name: checkout ta-tools repo ansible.builtin.git: repo: "https://git.slub-dresden.de/digital-preservation/tools-for-technical-analysts.git" dest: "/tmp/tools-for-technical-analysts/" + register: ta_tools_git -# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html -# 'If path is a directory, it is copied recursively. In this case, if path ends -# with "/", only inside contents of that directory are copied to destination.' +# Run `dzil listdeps` to get an updated list of dependencies. +# Commented dependencies are not available as Debian packages and will be +# installed when running `dzil install` in the next task. +- name: install dependencies for ta-tools + ansible.builtin.apt: + name: [ + # App::Cmd::Setup + "libdata-printer-perl", + "libdatetime-perl", + "libdatetime-format-dateparse-perl", + # ExtUtils::MakeMaker + # IO::Zlib + # LWP::UserAgent + "libpath-tiny-perl", + "libregexp-optimizer-perl", + "libsoap-lite-perl", + "libtext-csv-perl", + "libyaml-perl", + ] + +# This is THE main purpose of this task file, so we won't run this as a handler +# but set "noqa: no-handler" instead. - name: install ta-tools - ansible.builtin.copy: - src: "/tmp/tools-for-technical-analysts/{{ item.src }}" - dest: "{{ item.dest }}" - mode: "{{ item.mode | default('0755') }}" - directory_mode: "0755" # set this, or dirs below the dest directories may become untraversable! - remote_src: true - loop: - - src: "bin/" - dest: "/usr/local/bin/" - - src: "lib/" - dest: "/usr/local/perl/" + ansible.builtin.command: + cmd: "dzil install" + chdir: "/tmp/tools-for-technical-analysts/" + when: ta_tools_git.changed # noqa: no-handler -- name: set execution bit for ta-tools script +- name: create directories needed by ta-tool ansible.builtin.file: - path: "/usr/local/bin/ta-tool.pl" + path: "/home/{{ vault_subapp_user }}/{{ item }}/" + state: directory mode: "0755" + owner: "{{ vault_subapp_user }}" + group: "{{ vault_subapp_group }}" + loop: + - ".cache" + - ".config"