diff --git a/roles/calibre/tasks/debs.yml b/roles/calibre/tasks/debs.yml index 0d13d9b9d..43566b8fb 100644 --- a/roles/calibre/tasks/debs.yml +++ b/roles/calibre/tasks/debs.yml @@ -28,7 +28,8 @@ # when: is_rpi and internet_available - name: Upgrade to latest Calibre using .deb's from testing (rpi) - command: scripts/calibre-install-latest-rpi.sh # SEEMS TO ONCE AGAIN WORK since Calibre 3.26.0 (Calibre 3.24-3.25 required above prereq calibre-install-packages.sh then Debian's own calibre-install-latest.sh to be bootable in Zero W) + command: scripts/calibre-install-latest-rpi-plus.sh # HOPE IT WORKS FOR Calibre 3.27.1+ starting 2018-07-22 -- PLEASE TEST IF BOOTABLE IN Zero W? + #command: scripts/calibre-install-latest-rpi.sh # WORKED FOR Calibre 3.26.x (Calibre 3.24.x & 3.25 required above prereq calibre-install-packages.sh then Debian's own calibre-install-latest.sh to be bootable in Zero W) when: is_rpi and internet_available - name: Upgrade to Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18) diff --git a/scripts/calibre-install-latest-rpi-plus.sh b/scripts/calibre-install-latest-rpi-plus.sh new file mode 100755 index 000000000..cf9d5114c --- /dev/null +++ b/scripts/calibre-install-latest-rpi-plus.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Calibre 3.27.1 .deb's were released for Raspbian 2018-07-22 but requires +# python-pyqt5 from debian testing, to overcome error: +# +# The following packages have unmet dependencies: +# calibre : Depends: python-pyqt5 (>= 5.11.2+dfsg-1) but 5.10.1+dfsg-2+rpi1 is to be installed +# +# More details @ https://github.com/iiab/iiab/issues/948 and +# https://www.mobileread.com/forums/showthread.php?p=3729117#post3729117 + +# Thanks to Jerry Vonau (https://github.com/jvonau) who made this critical +# breakthrough possible! +# +# SEE COMMENTS AT THE TOP OF scripts/calibre-install-packages.sh + +export DEBIAN_FRONTEND=noninteractive + +# Prepares to update from debian testing +apt-key adv --recv-key --keyserver keyserver.ubuntu.com 7638D0442B90D010 +echo "deb http://deb.debian.org/debian testing main" >> /etc/apt/sources.list.d/debian-testing.list +apt update +apt -y install python-pyqt5 +rm /etc/apt/sources.list.d/debian-testing.list + +# Prepares to update from raspbian testing +echo "deb http://raspbian.raspberrypi.org/raspbian/ testing main" > /etc/apt/sources.list.d/rpi-testing.list +apt update +apt -y install calibre calibre-bin +rm /etc/apt/sources.list.d/rpi-testing.list +# Clears the cache of testing +apt update diff --git a/scripts/calibre-install-latest-rpi.sh b/scripts/calibre-install-latest-rpi.sh index 092cbb00c..869a4b64f 100755 --- a/scripts/calibre-install-latest-rpi.sh +++ b/scripts/calibre-install-latest-rpi.sh @@ -6,11 +6,12 @@ # SEE COMMENTS AT THE TOP OF scripts/calibre-install-packages.sh export DEBIAN_FRONTEND=noninteractive -# Prepares to update to latest from testing +# 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 apt -y install calibre calibre-bin -# Removes last line, safer than: rm /etc/apt/sources.list.d/rpi-testing.list -sed -i '$ d' /etc/apt/sources.list.d/rpi-testing.list +## Removes last line, safer than: rm /etc/apt/sources.list.d/rpi-testing.list +#sed -i '$ d' /etc/apt/sources.list.d/rpi-testing.list +rm /etc/apt/sources.list.d/rpi-testing.list # Clears the cache of testing apt update diff --git a/scripts/calibre-install-latest.sh b/scripts/calibre-install-latest.sh index 75142a5c2..c8bf11ebd 100755 --- a/scripts/calibre-install-latest.sh +++ b/scripts/calibre-install-latest.sh @@ -8,12 +8,13 @@ export DEBIAN_FRONTEND=noninteractive # Drags in stock desktop dependencies without too much from testing below apt -y install dirmngr -# Prepares to update to latest from testing +# Prepares to update to latest from debian testing apt-key adv --recv-key --keyserver keyserver.ubuntu.com 7638D0442B90D010 echo "deb http://deb.debian.org/debian testing main" >> /etc/apt/sources.list.d/debian-testing.list apt update apt -y install libqt5core5a python-lxml calibre calibre-bin -# Removes last line, safer than: rm /etc/apt/sources.list.d/debian-testing.list -sed -i '$ d' /etc/apt/sources.list.d/debian-testing.list +## Removes last line, safer than: rm /etc/apt/sources.list.d/debian-testing.list +#sed -i '$ d' /etc/apt/sources.list.d/debian-testing.list +rm /etc/apt/sources.list.d/debian-testing.list # Clears the cache of testing apt update