mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 19:52:06 +00:00
105 lines
4.9 KiB
YAML
105 lines
4.9 KiB
YAML
- name: Download {{ kalite_requirements }} to {{ pip_packages_dir }}/kalite.txt
|
|
get_url:
|
|
url: "{{ kalite_requirements }}"
|
|
dest: "{{ pip_packages_dir }}/kalite.txt" # /opt/iiab/pip-packages/kalite.txt
|
|
timeout: "{{ download_timeout }}"
|
|
when: internet_available | bool
|
|
|
|
# 2020-01-19: https://github.com/piwheels/packages/issues/74 says the following is not longer needed...
|
|
#- name: Run 'mv /etc/pip.conf /etc/pip.conf.see-iiab-issue-2139' as "TEMPORARY" workaround (2020-01-17) for piwheels.org's setuptools Python 2/3 brokenness on RPi (https://github.com/iiab/iiab/issues/2139)
|
|
# command: mv /etc/pip.conf /etc/pip.conf.see-iiab-issue-2139
|
|
# ignore_errors: yes
|
|
# when: is_raspbian | bool
|
|
|
|
- name: Install python2, if Raspbian/Debian > 10 or Ubuntu > 19
|
|
package:
|
|
name:
|
|
- python2
|
|
- python-setuptools # provides setuptools-44 last version compatible with python2
|
|
state: present
|
|
when: not (is_debian_9 or is_debian_10 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18 or is_ubuntu_19)
|
|
# 2020-03-31: Testing for {is_raspbian_9, is_raspbian_10} is not currently nec, as testing for {is_debian_9, is_debian_10} covers that already.
|
|
|
|
- name: Put wheel file in place if missing
|
|
get_url:
|
|
url: http://d.iiab.io/packages/ipaddress-0.0.0-py2.py3-none-any.whl
|
|
dest: /usr/share/python-wheels/ipaddress-0.0.0-py2.py3-none-any.whl
|
|
when: not (is_debian_9 or is_debian_10 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18 or is_ubuntu_19)
|
|
# 2020-04-02: python-pip-whl 20.0.2-2 is missing ipaddress-0.0.0-py2.py3-none-any.whl
|
|
# https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1869247
|
|
|
|
- name: Use pip to pin setuptools to 44 in {{ kalite_venv }} if Raspbian/Debian > 10 or Ubuntu > 19
|
|
pip:
|
|
name:
|
|
- setuptools==44
|
|
virtualenv: "{{ kalite_venv }}" # /usr/local/kalite/venv
|
|
virtualenv_site_packages: no
|
|
virtualenv_command: /usr/bin/virtualenv
|
|
virtualenv_python: python2.7
|
|
extra_args: "--no-use-pep517 --no-cache-dir --no-python-version-warning"
|
|
when: not (is_debian_9 or is_debian_10 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18 or is_ubuntu_19)
|
|
# 2020-03-31: Testing for {is_raspbian_9, is_raspbian_10} is not currently nec, as testing for {is_debian_9, is_debian_10} covers that already.
|
|
|
|
- name: Use pip to install KA Lite static to {{ kalite_venv }}
|
|
pip:
|
|
name: ka-lite-static
|
|
version: "{{ kalite_version }}"
|
|
virtualenv: "{{ kalite_venv }}" # /usr/local/kalite/venv
|
|
virtualenv_site_packages: no
|
|
virtualenv_command: /usr/bin/virtualenv
|
|
virtualenv_python: python2.7
|
|
extra_args: "--no-cache-dir"
|
|
when: internet_available | bool
|
|
|
|
- name: "Install from template: venv wrapper /usr/bin/kalite, systemd unit file kalite-serve.service, Apache's kalite.conf"
|
|
template:
|
|
backup: no
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: root
|
|
group: root
|
|
mode: "{{ item.mode }}"
|
|
with_items:
|
|
- { src: 'kalite.sh.j2', dest: '/usr/bin/kalite', mode: '0755'}
|
|
- { src: 'kalite-serve.service.j2', dest: '/etc/systemd/system/kalite-serve.service', mode: '0644'}
|
|
- { src: 'kalite.conf', dest: '/etc/{{ apache_conf_dir }}', mode: '0644'}
|
|
|
|
- name: Fix KA Lite bug in regex parsing ifconfig output, for @m-anish's network names that contain dashes, if Raspbian/Debian < 11 or Ubuntu < 20
|
|
replace:
|
|
path: /usr/local/kalite/venv/local/lib/python2.7/site-packages/kalite/packages/dist/ifcfg/parser.py
|
|
regexp: 'a-zA-Z0-9'
|
|
replace: 'a-zA-Z0-9\-'
|
|
when: is_debian_9 or is_debian_10 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18 or is_ubuntu_19
|
|
# 2020-03-31: Testing for {is_raspbian_9, is_raspbian_10} is not currently nec, as testing for {is_debian_9, is_debian_10} covers that already.
|
|
|
|
- name: Fix KA Lite bug in regex parsing ifconfig output, for @m-anish's network names that contain dashes, if Raspbian/Debian > 10 or Ubuntu > 19
|
|
replace:
|
|
path: /usr/local/kalite/venv/lib/python2.7/site-packages/kalite/packages/dist/ifcfg/parser.py
|
|
regexp: 'a-zA-Z0-9'
|
|
replace: 'a-zA-Z0-9\-'
|
|
when: not (is_debian_9 or is_debian_10 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18 or is_ubuntu_19)
|
|
# 2020-03-31: Testing for {is_raspbian_9, is_raspbian_10} is not currently nec, as testing for {is_debian_9, is_debian_10} covers that already.
|
|
# JV why not just is_ubuntu_20?
|
|
|
|
- name: Create dir {{ kalite_root }}
|
|
file:
|
|
state: directory
|
|
path: "{{ kalite_root }}/httpsrv/static" # /library/ka-lite
|
|
|
|
- name: Run 'kalite manage setup ...'
|
|
command: "{{ kalite_program }} manage setup --username={{ kalite_admin_user }} --password={{ kalite_admin_password }} --noinput" # Runs /usr/local/kalite/venv/bin/kalite
|
|
environment:
|
|
KALITE_HOME: "{{ kalite_root }}" # /library/ka-lite
|
|
async: 1800
|
|
poll: 10
|
|
|
|
|
|
- name: "Set 'kalite_installed: True'"
|
|
set_fact:
|
|
kalite_installed: True
|
|
|
|
- name: "Add 'kalite_installed: True' to {{ iiab_state_file }}"
|
|
lineinfile:
|
|
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
|
|
regexp: '^kalite_installed'
|
|
line: 'kalite_installed: True'
|