2 - name: Ensure lttng-ust build dependencies are installed.
3 zypper: "name={{ lttng_ust_packages }} state=installed update_cache=yes"
5 # log4j2 is required for testing all the java agents, but is not available
6 # on SLES12SP5 via packages.
7 - name: Manually install log4j2
8 when: lttng_ust_manual_log4j2_installation|default(false)
10 - name: Check if download required
11 ansible.builtin.command:
12 argv: ['test', '-L', '/usr/share/java/log4j-core.jar', '-a',
13 '-e', '/usr/share/java/log4j-core.jar', '-a',
14 '-L', '/usr/share/java/log4j-api.jar', '-a',
15 '-e', '/usr/share/java/log4j-api.jar', '-a',
16 '-f', "/usr/share/java/apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-api-{{lttng_ust_log4j2_version}}.jar", '-a',
17 '-f', "/usr/share/java/apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-core-{{lttng_ust_log4j2_version}}.jar"
20 register: log4j2_download_required
21 - when: "log4j2_download_required.rc != 0"
23 - ansible.builtin.tempfile:
25 register: log4j2_asc_tempfile
26 - ansible.builtin.get_url:
27 url: "https://archive.apache.org/dist/logging/log4j/{{lttng_ust_log4j2_version}}/apache-log4j-{{lttng_ust_log4j2_version}}-bin.tar.gz.asc"
28 dest: "{{log4j2_asc_tempfile.path}}"
30 - ansible.builtin.tempfile:
32 register: log4j2_tempfile
33 - name: Download log4j2 binary release
34 ansible.builtin.get_url:
35 checksum: "sha256:https://archive.apache.org/dist/logging/log4j/{{lttng_ust_log4j2_version}}/apache-log4j-{{lttng_ust_log4j2_version}}-bin.tar.gz.sha256"
36 url: "https://archive.apache.org/dist/logging/log4j/{{lttng_ust_log4j2_version}}/apache-log4j-{{lttng_ust_log4j2_version}}-bin.tar.gz"
37 dest: "{{log4j2_tempfile.path}}"
39 - ansible.builtin.tempfile:
41 register: log4j2_keys_tempfile
42 - ansible.builtin.get_url:
43 url: "https://downloads.apache.org/logging/KEYS"
44 dest: "{{log4j2_keys_tempfile.path}}"
46 - name: Import Apache developer keys
47 ansible.builtin.command:
48 argv: ['gpg', '--import', "{{log4j2_keys_tempfile.path}}"]
49 # gpg returns non-zero exit codes if only some of the keys
52 - name: Verify PGP signature
53 ansible.builtin.command:
54 argv: ['gpg', '--verify', "{{log4j2_asc_tempfile.path}}", "{{log4j2_tempfile.path}}"]
56 ansible.builtin.unarchive:
58 src: "{{log4j2_tempfile.path}}"
59 dest: "/usr/share/java"
61 - "apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-api-{{lttng_ust_log4j2_version}}.jar"
62 - "apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-core-{{lttng_ust_log4j2_version}}.jar"
63 - name: Setup symlinks
66 src: "/usr/share/java/apache-log4j-{{lttng_ust_log4j2_version}}-bin/log4j-{{item}}-{{lttng_ust_log4j2_version}}.jar"
67 dest: '/usr/share/java/log4j-{{item}}.jar'
72 # - ansible.builtin.file:
74 # src: "/usr/share/java/log4j-api-{{lttng_ust_log4j2_version}}.jar"
75 # dest: '/usr/share/java/log4j-api.jar'
76 # - ansible.builtin.file:
78 # src: "/usr/share/java/log4j-core-{{lttng_ust_log4j2_version}}.jar"
79 # dest: '/usr/share/java/log4j-core.jar'