1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 03:32:12 +00:00

Merge pull request #1057 from holta/calibre-pin-to-3.30

Pin Calibre (to 3.30 for now) avoiding dependency hell on each new Calibre release
This commit is contained in:
A Holt 2018-08-30 16:10:55 -04:00 committed by GitHub
commit bd2e689c10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 49 additions and 8 deletions

View file

@ -19,6 +19,12 @@ calibre_sample_book: "Metamorphosis-jackson.epub"
calibre_src_url: "https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py"
calibre_deb_url: http://download.iiab.io/packages
# Must contain both packages for the pinned version, formatted as follows:
# calibre_3.30.0+dfsg-1_all (25M, 2018-08-24)
# calibre-bin_3.30.0+dfsg-1_armhf (742K, 2018-08-30)
calibre_deb_pin_version: 3.30.0
# USE TO TEST debs.yml (RASPBIAN APPROACH!) ON DEBIAN 9.X: (now handled by calibre_via_debs in /opt/iiab/iiab/vars/*)
#calibre_debs_on_debian: True
# Enable unstable .deb's, not just testing .deb's: (moved to /etc/iiab/local_vars.yml & /opt/iiab/iiab/vars/default_vars.yml)

View file

@ -27,16 +27,33 @@
# command: scripts/calibre-install-latest.sh # NECESSARY since Calibre 3.24 (BEWARE installing libc6 will prevent boot in RPi Zero W, i.e. if calibre-install-packages.sh isn't run above!)
# when: is_rpi and internet_available
- name: Upgrade to latest Calibre using .deb's from testing (rpi)
#command: scripts/calibre-install-latest-rpi-plus.sh # WORKS for Calibre 3.27.1 on 2018-07-22 (#948 -> PR #950) THO NOT BOOTABLE IN Zero W (#952). Similar to Calibre 3.24.x & 3.25 in June 2018, which had used calibre-install-packages.sh then Debian's own calibre-install-latest.sh
#command: scripts/calibre-install-latest-rpi.sh # WORKS for Calibre 3.28 on 2018-07-26 (PR #971). Likewise for Calibre 3.26.x
command: scripts/calibre-install-latest.sh # REQUIRED for Calibre 3.29 on 2018-08-21 (PR #1015), as all above strategies failed (only script that was not attempted: Sid-like calibre-install-unstable.sh). CLARIF: RESULTING microSD's ARE NOT BOOTABLE IN Zero W (#952)
#- name: Upgrade to latest Calibre using .deb's from testing (rpi)
# #command: scripts/calibre-install-latest-rpi-plus.sh # WORKS for Calibre 3.27.1 on 2018-07-22 (#948 -> PR #950) THO NOT BOOTABLE IN Zero W (#952). Similar to Calibre 3.24.x & 3.25 in June 2018, which had used calibre-install-packages.sh then Debian's own calibre-install-latest.sh
# #command: scripts/calibre-install-latest-rpi.sh # WORKS for Calibre 3.28 on 2018-07-26 (PR #971). Likewise for Calibre 3.26.x
# command: scripts/calibre-install-latest.sh # REQUIRED for Calibre 3.29 on 2018-08-21 (PR #1015), as all above strategies failed (only script that was not attempted: Sid-like calibre-install-unstable.sh). CLARIF: RESULTING microSD's ARE NOT BOOTABLE IN Zero W (#952)
# when: is_rpi and internet_available
- name: Download PINNED version {{ calibre_deb_pin_version }} of calibre & calibre-bin (rpi)
get_url:
url: "{{ calibre_deb_url }}/{{ item }}"
dest: "{{ downloads_dir }}/{{ item }}"
mode: 0644
#force: no
#backup: no
timeout: "{{ download_timeout }}"
with_items:
- calibre_{{ calibre_deb_pin_version }}+dfsg-1_all.deb
- calibre-bin_{{ calibre_deb_pin_version }}+dfsg-1_armhf.deb
when: is_rpi and internet_available
- name: Upgrade to Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18)
- name: Install/Upgrade both, to PINNED version {{ calibre_deb_pin_version }} while using additional .deb's from testing (rpi)
command: scripts/calibre-install-pinned-rpi.sh # RECOMMENDED for Calibre 3.30 on 2018-08-30, so IIAB microSD will be bootable in RPi Zero W
when: is_rpi and internet_available
- name: Install/Upgrade to Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18)
command: scripts/calibre-install-latest.sh
when: not is_rpi and not is_ubuntu_18 and internet_available
- name: Upgrade to Calibre unstable .deb's IF calibre_unstable_debs
- name: Install/Upgrade to Calibre unstable .deb's IF calibre_unstable_debs
command: scripts/calibre-install-unstable.sh
when: calibre_unstable_debs and internet_available

View file

@ -12,9 +12,9 @@
with_items:
- calibre
- calibre-bin
when: internet_available and (not calib_executable.stat.exists)
when: internet_available and not is_rpi and (not calib_executable.stat.exists)
- name: Install Calibre experimental .debs IF calibre_via_debs (AND /usr/bin/calibre WAS MISSING)
- name: Install Calibre .debs IF calibre_via_debs (AND /usr/bin/calibre WAS MISSING)
include_tasks: debs.yml
when: calibre_via_debs and (not calib_executable.stat.exists)

View file

@ -0,0 +1,18 @@
#!/bin/bash
# Thanks to Jerry Vonau (https://github.com/jvonau) who made this critical
# breakthrough possible!
#
# Might break future updates; you have been warned.
# SEE NOTES AT TOP OF scripts/calibre-install-packages.sh
export DEBIAN_FRONTEND=noninteractive
# Prepares to update to latest from raspbian testing
echo "deb http://raspbian.raspberrypi.org/raspbian/ testing main" > /etc/apt/sources.list.d/rpi-testing.list
apt update
# @jvonau explains that stale .deb's should be avoided as: "apt will pick the highest version to install after churning a bit..."
apt -y install /opt/iiab/downloads/calibre*.deb
#sed -i '$ d' /etc/apt/sources.list.d/rpi-testing.list # Removes last line
rm /etc/apt/sources.list.d/rpi-testing.list
# Clears the cache of rpi/testing
apt update