mirror of
https://github.com/iiab/iiab.git
synced 2025-02-15 04:32:11 +00:00
split off install
This commit is contained in:
parent
20c629a7fe
commit
ac7f3ca6a6
2 changed files with 136 additions and 103 deletions
117
roles/calibre/tasks/install.yml
Normal file
117
roles/calibre/tasks/install.yml
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
- name: Download latest linux-installer.py from GitHub to calibre-installer.py
|
||||||
|
# seems to work with just about any Linux, and deals with dependencies
|
||||||
|
get_url:
|
||||||
|
url: "{{ calibre_src_url }}"
|
||||||
|
dest: "{{ downloads_dir }}/calibre-installer.py"
|
||||||
|
mode: 0755
|
||||||
|
force: yes
|
||||||
|
backup: yes
|
||||||
|
register: calibre_download_output
|
||||||
|
when: internet_available and is_redhat
|
||||||
|
|
||||||
|
# ALWAYS DEFINED, DESPITE get_url DOCUMENTATION CLAIM...
|
||||||
|
# - debug:
|
||||||
|
# msg: "{{ calibre_download_output.src }}"
|
||||||
|
#
|
||||||
|
# DEFINED ONLY WHEN /opt/iiab/downloads/calibre-installer.py CHANGES
|
||||||
|
# - debug:
|
||||||
|
# msg: "{{ calibre_download_output.backup_file }}"
|
||||||
|
|
||||||
|
# OOPS BAD IDEA: changes in https://github.com/kovidgoyal/calibre/commits/master/setup/linux-installer.py are not sync'd with Calibre releases!
|
||||||
|
# - name: FORCE AN UPGRADE IF calibre-installer.py HAS CHANGED, IF SO ORIGINAL IS SAVED TO {{ calibre_download_output.backup_file }}
|
||||||
|
# file:
|
||||||
|
# path: /usr/bin/calibre-uninstall
|
||||||
|
# state: absent
|
||||||
|
# when: calibre_download_output.backup_file is defined
|
||||||
|
|
||||||
|
- name: Check if calibre-installer.py exists in /opt/iiab/downloads
|
||||||
|
stat:
|
||||||
|
path: "{{ downloads_dir }}/calibre-installer.py"
|
||||||
|
register: calib_inst
|
||||||
|
when: is_redhat
|
||||||
|
|
||||||
|
- name: Check if calibre-uninstall exists in /usr/bin
|
||||||
|
stat:
|
||||||
|
path: "/usr/bin/calibre-uninstall"
|
||||||
|
register: calib_uninst
|
||||||
|
when: is_redhat
|
||||||
|
|
||||||
|
#- name: FAIL (force Ansible to exit) IF /opt/iiab/downloads/calibre-installer.py doesn't exist OR needed Internet connection is missing
|
||||||
|
# meta: end_play
|
||||||
|
# fail:
|
||||||
|
# msg: "{{ downloads_dir }}/calibre-installer.py and an Internet connection are REQUIRED in order to install Calibre!"
|
||||||
|
# when: (not calib_inst.stat.exists) or (not internet_available and not calib_uninst.stat.exists)
|
||||||
|
|
||||||
|
# INSTALL THE LATEST CALIBRE (calibre-server etc) ON ALL OS'S - RUNS IF /usr/bin/calibre-uninstall DOES NOT ALEADY EXIST
|
||||||
|
|
||||||
|
- name: Run calibre-installer.py to install Calibre programs into /usr/bin - MANUALLY REMOVE /usr/bin/calibre-uninstall TO FORCE calibre-installer.py TO REINSTALL/UPGRADE HERE!
|
||||||
|
shell: "{{ downloads_dir }}/calibre-installer.py >> /dev/null"
|
||||||
|
args:
|
||||||
|
creates: /usr/bin/calibre-uninstall
|
||||||
|
when: internet_available and is_redhat
|
||||||
|
|
||||||
|
- name: Install Calibre (OS's other than CentOS)
|
||||||
|
package: name={{ item }}
|
||||||
|
state=present
|
||||||
|
with_items:
|
||||||
|
- calibre
|
||||||
|
when: calibre_install and ansible_distribution != 'CentOS'
|
||||||
|
|
||||||
|
- name: Create calibre-serve.service and calibre.conf
|
||||||
|
template:
|
||||||
|
backup: no
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "{{ item.mode }}"
|
||||||
|
with_items:
|
||||||
|
- { src: 'calibre-serve.service.j2', dest: '/etc/systemd/system/calibre-serve.service', mode: '0644'}
|
||||||
|
- { src: 'calibre.conf', dest: '/etc/{{ apache_config_dir }}', mode: '0644'}
|
||||||
|
|
||||||
|
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/books ARE A MESS (BOOKS RARELY DISPLAY)
|
||||||
|
- name: Create calibre.conf link for UNTESTED http://box/books etc (debuntu)
|
||||||
|
file:
|
||||||
|
src: /etc/apache2/sites-available/calibre.conf
|
||||||
|
dest: /etc/apache2/sites-enabled/calibre.conf
|
||||||
|
state: link
|
||||||
|
when: is_debuntu
|
||||||
|
|
||||||
|
# CREATE CALIBRE DATABASE WITH A SAMPLE BOOK
|
||||||
|
|
||||||
|
- name: Disable Calibre service -- stops calibre-server by Kovid Goyal
|
||||||
|
service:
|
||||||
|
name: calibre-serve
|
||||||
|
enabled: no
|
||||||
|
state: stopped
|
||||||
|
|
||||||
|
- name: Create /library/calibre (mandatory since Calibre 3.x)
|
||||||
|
file:
|
||||||
|
path: "{{ calibre_dbpath }}"
|
||||||
|
state: directory
|
||||||
|
mode: 0666
|
||||||
|
|
||||||
|
- name: Check if sample book exists in /opt/iiab/downloads
|
||||||
|
stat:
|
||||||
|
path: "{{ content_base }}/downloads/{{ calibre_sample_book }}"
|
||||||
|
register: sample_bk
|
||||||
|
|
||||||
|
- name: Download sample book (mandatory since Calibre 3.x)
|
||||||
|
get_url:
|
||||||
|
url: "{{ iiab_download_url }}/{{ calibre_sample_book }}"
|
||||||
|
dest: "{{ content_base }}/downloads"
|
||||||
|
when: internet_available and not sample_bk.stat.exists
|
||||||
|
|
||||||
|
- name: Check if sample book exists in /opt/iiab/downloads
|
||||||
|
stat:
|
||||||
|
path: "{{ content_base }}/downloads/{{ calibre_sample_book }}"
|
||||||
|
register: sample_bk
|
||||||
|
|
||||||
|
- name: Check if /library/calibre/metadata.db exists
|
||||||
|
stat:
|
||||||
|
path: "{{ calibre_dbpath }}/metadata.db"
|
||||||
|
register: calibre_db
|
||||||
|
|
||||||
|
- name: Incorporate sample book into Calibre DB (mandatory since Calibre 3.x)
|
||||||
|
shell: "calibredb add {{ content_base }}/downloads/{{ calibre_sample_book }} --with-library {{ calibre_dbpath }}"
|
||||||
|
when: sample_bk.stat.exists and not calibre_db.stat.exists
|
|
@ -1,61 +1,11 @@
|
||||||
- name: Download latest linux-installer.py from GitHub to calibre-installer.py
|
- name: Check if /library/calibre/metadata.db exists
|
||||||
# seems to work with just about any Linux, and deals with dependencies
|
|
||||||
get_url:
|
|
||||||
url: "{{ calibre_src_url }}"
|
|
||||||
dest: "{{ downloads_dir }}/calibre-installer.py"
|
|
||||||
mode: 0755
|
|
||||||
force: yes
|
|
||||||
backup: yes
|
|
||||||
register: calibre_download_output
|
|
||||||
when: internet_available and is_redhat
|
|
||||||
|
|
||||||
# ALWAYS DEFINED, DESPITE get_url DOCUMENTATION CLAIM...
|
|
||||||
# - debug:
|
|
||||||
# msg: "{{ calibre_download_output.src }}"
|
|
||||||
#
|
|
||||||
# DEFINED ONLY WHEN /opt/iiab/downloads/calibre-installer.py CHANGES
|
|
||||||
# - debug:
|
|
||||||
# msg: "{{ calibre_download_output.backup_file }}"
|
|
||||||
|
|
||||||
# OOPS BAD IDEA: changes in https://github.com/kovidgoyal/calibre/commits/master/setup/linux-installer.py are not sync'd with Calibre releases!
|
|
||||||
# - name: FORCE AN UPGRADE IF calibre-installer.py HAS CHANGED, IF SO ORIGINAL IS SAVED TO {{ calibre_download_output.backup_file }}
|
|
||||||
# file:
|
|
||||||
# path: /usr/bin/calibre-uninstall
|
|
||||||
# state: absent
|
|
||||||
# when: calibre_download_output.backup_file is defined
|
|
||||||
|
|
||||||
- name: Check if calibre-installer.py exists in /opt/iiab/downloads
|
|
||||||
stat:
|
stat:
|
||||||
path: "{{ downloads_dir }}/calibre-installer.py"
|
path: "{{ calibre_dbpath }}/metadata.db"
|
||||||
register: calib_inst
|
register: calibre_db
|
||||||
when: is_redhat
|
|
||||||
|
|
||||||
- name: Check if calibre-uninstall exists in /usr/bin
|
- name: Install Calibre
|
||||||
stat:
|
include_tasks: install.yml
|
||||||
path: "/usr/bin/calibre-uninstall"
|
when: not calibre_db.stat.exists
|
||||||
register: calib_uninst
|
|
||||||
when: is_redhat
|
|
||||||
|
|
||||||
#- name: FAIL (force Ansible to exit) IF /opt/iiab/downloads/calibre-installer.py doesn't exist OR needed Internet connection is missing
|
|
||||||
# meta: end_play
|
|
||||||
# fail:
|
|
||||||
# msg: "{{ downloads_dir }}/calibre-installer.py and an Internet connection are REQUIRED in order to install Calibre!"
|
|
||||||
# when: (not calib_inst.stat.exists) or (not internet_available and not calib_uninst.stat.exists)
|
|
||||||
|
|
||||||
# INSTALL THE LATEST CALIBRE (calibre-server etc) ON ALL OS'S - RUNS IF /usr/bin/calibre-uninstall DOES NOT ALEADY EXIST
|
|
||||||
|
|
||||||
- name: Run calibre-installer.py to install Calibre programs into /usr/bin - MANUALLY REMOVE /usr/bin/calibre-uninstall TO FORCE calibre-installer.py TO REINSTALL/UPGRADE HERE!
|
|
||||||
shell: "{{ downloads_dir }}/calibre-installer.py >> /dev/null"
|
|
||||||
args:
|
|
||||||
creates: /usr/bin/calibre-uninstall
|
|
||||||
when: internet_available and is_redhat
|
|
||||||
|
|
||||||
- name: Install Calibre (OS's other than CentOS)
|
|
||||||
package: name={{ item }}
|
|
||||||
state=present
|
|
||||||
with_items:
|
|
||||||
- calibre
|
|
||||||
when: calibre_install and ansible_distribution != 'CentOS'
|
|
||||||
|
|
||||||
- name: Create calibre-serve.service and calibre.conf
|
- name: Create calibre-serve.service and calibre.conf
|
||||||
template:
|
template:
|
||||||
|
@ -68,6 +18,7 @@
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'calibre-serve.service.j2', dest: '/etc/systemd/system/calibre-serve.service', mode: '0644'}
|
- { src: 'calibre-serve.service.j2', dest: '/etc/systemd/system/calibre-serve.service', mode: '0644'}
|
||||||
- { src: 'calibre.conf', dest: '/etc/{{ apache_config_dir }}', mode: '0644'}
|
- { src: 'calibre.conf', dest: '/etc/{{ apache_config_dir }}', mode: '0644'}
|
||||||
|
when: calibre_enabled
|
||||||
|
|
||||||
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/books ARE A MESS (BOOKS RARELY DISPLAY)
|
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/books ARE A MESS (BOOKS RARELY DISPLAY)
|
||||||
- name: Create calibre.conf link for UNTESTED http://box/books etc (debuntu)
|
- name: Create calibre.conf link for UNTESTED http://box/books etc (debuntu)
|
||||||
|
@ -75,48 +26,7 @@
|
||||||
src: /etc/apache2/sites-available/calibre.conf
|
src: /etc/apache2/sites-available/calibre.conf
|
||||||
dest: /etc/apache2/sites-enabled/calibre.conf
|
dest: /etc/apache2/sites-enabled/calibre.conf
|
||||||
state: link
|
state: link
|
||||||
when: is_debuntu
|
when: calibre_enabled and is_debuntu
|
||||||
|
|
||||||
# CREATE CALIBRE DATABASE WITH A SAMPLE BOOK
|
|
||||||
|
|
||||||
- name: Disable Calibre service -- stops calibre-server by Kovid Goyal
|
|
||||||
service:
|
|
||||||
name: calibre-serve
|
|
||||||
enabled: no
|
|
||||||
state: stopped
|
|
||||||
|
|
||||||
- name: Create /library/calibre (mandatory since Calibre 3.x)
|
|
||||||
file:
|
|
||||||
path: "{{ calibre_dbpath }}"
|
|
||||||
state: directory
|
|
||||||
mode: 0666
|
|
||||||
|
|
||||||
- name: Check if sample book exists in /opt/iiab/downloads
|
|
||||||
stat:
|
|
||||||
path: "{{ content_base }}/downloads/{{ calibre_sample_book }}"
|
|
||||||
register: sample_bk
|
|
||||||
|
|
||||||
- name: Download sample book (mandatory since Calibre 3.x)
|
|
||||||
get_url:
|
|
||||||
url: "{{ iiab_download_url }}/{{ calibre_sample_book }}"
|
|
||||||
dest: "{{ content_base }}/downloads"
|
|
||||||
when: internet_available and not sample_bk.stat.exists
|
|
||||||
|
|
||||||
- name: Check if sample book exists in /opt/iiab/downloads
|
|
||||||
stat:
|
|
||||||
path: "{{ content_base }}/downloads/{{ calibre_sample_book }}"
|
|
||||||
register: sample_bk
|
|
||||||
|
|
||||||
- name: Check if /library/calibre/metadata.db exists
|
|
||||||
stat:
|
|
||||||
path: "{{ calibre_dbpath }}/metadata.db"
|
|
||||||
register: calibre_db
|
|
||||||
|
|
||||||
- name: Incorporate sample book into Calibre DB (mandatory since Calibre 3.x)
|
|
||||||
shell: "calibredb add {{ content_base }}/downloads/{{ calibre_sample_book }} --with-library {{ calibre_dbpath }}"
|
|
||||||
when: sample_bk.stat.exists and not calibre_db.stat.exists
|
|
||||||
|
|
||||||
# WRAP UP CALIBRE INSTALLATION
|
|
||||||
|
|
||||||
- name: Enable Calibre service -- runs calibre-server by Kovid Goyal
|
- name: Enable Calibre service -- runs calibre-server by Kovid Goyal
|
||||||
service:
|
service:
|
||||||
|
@ -127,7 +37,13 @@
|
||||||
#poll: 5
|
#poll: 5
|
||||||
when: calibre_enabled
|
when: calibre_enabled
|
||||||
|
|
||||||
# - name: Disable Calibre service -- stops calibre-server by Kovid Goyal
|
#- name: Remove calibre.conf link if disabled (debuntu)
|
||||||
|
# file:
|
||||||
|
# dest: /etc/apache2/sites-enabled/calibre.conf
|
||||||
|
# state: absent
|
||||||
|
# when: not calibre_enabled and is_debuntu
|
||||||
|
|
||||||
|
#- name: Disable Calibre service -- stops calibre-server by Kovid Goyal
|
||||||
# service: name=calibre-serve
|
# service: name=calibre-serve
|
||||||
# enabled=no
|
# enabled=no
|
||||||
# state=stopped
|
# state=stopped
|
||||||
|
|
Loading…
Reference in a new issue