From 61dfdcdb0a3c282ba89f563be8608785e01d2eb2 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 26 Dec 2021 14:07:14 -0500 Subject: [PATCH 1/4] roles/www_base: Cleaner/Safer php-stem --- roles/www_base/tasks/main.yml | 9 +++++---- roles/www_base/tasks/php-stem.yml | 32 +++++++++++++++---------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/roles/www_base/tasks/main.yml b/roles/www_base/tasks/main.yml index eaf0fe4b6..7007a5be0 100644 --- a/roles/www_base/tasks/main.yml +++ b/roles/www_base/tasks/main.yml @@ -22,13 +22,14 @@ # - php{{ php_version }}-xmlrpc # 2021-06-27: Experimentally remove -- SEE EXPLANATION IN moodle/tasks/main.yml # state: present -- name: Using html.yml +- name: Install html.yml include_tasks: html.yml -- name: "Using php-stem.yml, when: php_version == 7.4" +- name: 'Install php-stem.yml when: php_version == 7.4 and (ansible_machine == "armv6l" or ansible_machine == "armv7l" or ansible_machine == "aarch64" or ansible_machine == "x86_64")' include_tasks: php-stem.yml - when: php_version == 7.4 # or php_version == 8.0 or php_version == 8.1 (IIAB MIGHT SUPPORT THESE LATER IN 2022) - # or php_version == 7.2 or php_version == 7.3 (PROBABLY WORK, AT YOUR OWN RISK!) + when: php_version == 7.4 and (ansible_machine == "armv6l" or ansible_machine == "armv7l" or ansible_machine == "aarch64" or ansible_machine == "x86_64") + # or php_version == 8.0 or php_version == 8.1 (IIAB MIGHT SUPPORT THESE LATER IN 2022) + # or php_version == 7.2 or php_version == 7.3 (PROBABLY WORK, AT YOUR OWN RISK!) - name: Create dir {{ doc_root }}/home -- if you customized var iiab_home_url e.g. in /etc/iiab/local_vars.yml, that dir is created later -- by www_options/tasks/main.yml file: diff --git a/roles/www_base/tasks/php-stem.yml b/roles/www_base/tasks/php-stem.yml index e64311e4b..d5e6a28a6 100644 --- a/roles/www_base/tasks/php-stem.yml +++ b/roles/www_base/tasks/php-stem.yml @@ -41,30 +41,30 @@ # Then put that location in stem.ini" -- name: Download https://github.com/iiab/php-stem/raw/main/so/stem-armhf-{{ php_version }}.so to /usr/lib/php/{{ php_extension }}/stem.so (armv6l or armv7l) - get_url: - url: https://github.com/iiab/php-stem/raw/main/so/stem-armhf-{{ php_version }}.so - dest: /usr/lib/php/{{ php_extension }}/stem.so - timeout: "{{ download_timeout }}" +- name: 'Set "php_stem_arch: armhf" if ansible_machine == "armv6l" or ansible_machine == "armv7l"' + set_fact: + php_stem_arch: armhf when: ansible_machine == "armv6l" or ansible_machine == "armv7l" -- name: Download https://github.com/iiab/php-stem/raw/main/so/stem-aarch64-{{ php_version }}.so to /usr/lib/php/{{ php_extension }}/stem.so (aarch64) - get_url: - url: https://github.com/iiab/php-stem/raw/main/so/stem-aarch64-{{ php_version }}.so - dest: /usr/lib/php/{{ php_extension }}/stem.so - timeout: "{{ download_timeout }}" +- name: 'Set "php_stem_arch: aarch64" if ansible_machine == "aarch64"' + set_fact: + php_stem_arch: aarch64 when: ansible_machine == "aarch64" -- name: Download https://github.com/iiab/php-stem/raw/main/so/stem-x64-{{ php_version }}.so to /usr/lib/php/{{ php_extension }}/stem.so (x86_64) - get_url: - url: https://github.com/iiab/php-stem/raw/main/so/stem-x64-{{ php_version }}.so - dest: /usr/lib/php/{{ php_extension }}/stem.so - timeout: "{{ download_timeout }}" +- name: 'Set "php_stem_arch: x86" if ansible_machine == "x86_64"' + set_fact: + php_stem_arch: x86 when: ansible_machine == "x86_64" +- name: Download https://github.com/iiab/php-stem/raw/main/so/stem-{{ php_stem_arch }}-{{ php_version }}.so to /usr/lib/php/{{ php_extension }}/stem.so + get_url: + url: https://github.com/iiab/php-stem/raw/main/so/stem-{{ php_stem_arch }}-{{ php_version }}.so + dest: /usr/lib/php/{{ php_extension }}/stem.so + timeout: "{{ download_timeout }}" + # https://en.wikipedia.org/wiki/Here_document -- name: Install /etc/php/{{ php_version }}/mods-available/stem.ini +- name: Install "extension=stem.so" in /etc/php/{{ php_version }}/mods-available/stem.ini shell: | cat > /etc/php/{{ php_version }}/mods-available/stem.ini << EOF ; configuration for php common module From c45445399ea204df29654a00bd34417ba13ac01e Mon Sep 17 00:00:00 2001 From: root Date: Sun, 26 Dec 2021 14:17:01 -0500 Subject: [PATCH 2/4] roles/www_base/tasks/main.yml: Clean Ansible output --- roles/www_base/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/www_base/tasks/main.yml b/roles/www_base/tasks/main.yml index 7007a5be0..f7fe20fc6 100644 --- a/roles/www_base/tasks/main.yml +++ b/roles/www_base/tasks/main.yml @@ -25,7 +25,7 @@ - name: Install html.yml include_tasks: html.yml -- name: 'Install php-stem.yml when: php_version == 7.4 and (ansible_machine == "armv6l" or ansible_machine == "armv7l" or ansible_machine == "aarch64" or ansible_machine == "x86_64")' +- name: Install php-stem.yml if php_version == 7.4 and (ansible_machine == "armv6l" or ansible_machine == "armv7l" or ansible_machine == "aarch64" or ansible_machine == "x86_64") include_tasks: php-stem.yml when: php_version == 7.4 and (ansible_machine == "armv6l" or ansible_machine == "armv7l" or ansible_machine == "aarch64" or ansible_machine == "x86_64") # or php_version == 8.0 or php_version == 8.1 (IIAB MIGHT SUPPORT THESE LATER IN 2022) From 71c1d16f0dfb2af04bde15159e2dc1eb35b2afa5 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 26 Dec 2021 14:51:54 -0500 Subject: [PATCH 3/4] php-stem.yml: php_stem_arch: "{{ php_stem_arches[ansible_machine] }}" --- roles/www_base/tasks/php-stem.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/roles/www_base/tasks/php-stem.yml b/roles/www_base/tasks/php-stem.yml index d5e6a28a6..51fcdda5e 100644 --- a/roles/www_base/tasks/php-stem.yml +++ b/roles/www_base/tasks/php-stem.yml @@ -41,20 +41,17 @@ # Then put that location in stem.ini" -- name: 'Set "php_stem_arch: armhf" if ansible_machine == "armv6l" or ansible_machine == "armv7l"' +- name: Populate php_stem_arches dictionary (lookup table of CPU architectures for https://github.com/iiab/php-stem/raw/main/so/stem-[ARCH]-[PHP VERSION].so) set_fact: - php_stem_arch: armhf - when: ansible_machine == "armv6l" or ansible_machine == "armv7l" + php_stem_arches: + armv6l: armhf + armv7l: armhf + aarch64: aarch64 + x86_64: x86 -- name: 'Set "php_stem_arch: aarch64" if ansible_machine == "aarch64"' +- name: Set php_stem_arch to "{{ php_stem_arches[ansible_machine] }}" using php_stem_arches[ansible_machine] set_fact: - php_stem_arch: aarch64 - when: ansible_machine == "aarch64" - -- name: 'Set "php_stem_arch: x86" if ansible_machine == "x86_64"' - set_fact: - php_stem_arch: x86 - when: ansible_machine == "x86_64" + php_stem_arch: "{{ php_stem_arches[ansible_machine] }}" - name: Download https://github.com/iiab/php-stem/raw/main/so/stem-{{ php_stem_arch }}-{{ php_version }}.so to /usr/lib/php/{{ php_extension }}/stem.so From 25f25329a9f104913df77732f60f619f4143abb6 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 26 Dec 2021 15:13:30 -0500 Subject: [PATCH 4/4] php-stem.yml: Show instantiation of dicts (php_extensions, php_stem_arches) --- roles/www_base/tasks/php-stem.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/www_base/tasks/php-stem.yml b/roles/www_base/tasks/php-stem.yml index 51fcdda5e..fd8256066 100644 --- a/roles/www_base/tasks/php-stem.yml +++ b/roles/www_base/tasks/php-stem.yml @@ -22,7 +22,7 @@ 8.0: 20200930 8.1: 20210902 -- name: Set php_extension to "{{ php_extensions[php_version] }}" using php_extensions[php_version] +- name: Set php_extension to "{{ php_extensions[php_version] }}" using php_extensions[php_version is "{{ php_version }}"] set_fact: php_extension: "{{ php_extensions[php_version] }}" @@ -49,7 +49,7 @@ aarch64: aarch64 x86_64: x86 -- name: Set php_stem_arch to "{{ php_stem_arches[ansible_machine] }}" using php_stem_arches[ansible_machine] +- name: Set php_stem_arch to "{{ php_stem_arches[ansible_machine] }}" using php_stem_arches[ansible_machine is "{{ ansible_machine }}"] set_fact: php_stem_arch: "{{ php_stem_arches[ansible_machine] }}"