From 9e647b7be6ad9298fb65b8fb272480e7aac9c4cf Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 14 Jun 2018 10:13:52 -0400 Subject: [PATCH 01/29] MediaWiki 1.30.0 -> 1.31.0 --- roles/mediawiki/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index 708549e45..e75396acb 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -1,4 +1,4 @@ -mediawiki_major_version: "1.30" +mediawiki_major_version: "1.31" mediawiki_minor_version: "0" mediawiki_version: "{{ mediawiki_major_version }}.{{ mediawiki_minor_version }}" From 50552557dfcdd38d364a9237ba8ece89d25d2586 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 14 Jun 2018 23:45:27 -0400 Subject: [PATCH 02/29] 6.5 -> 6.6 in roles/0-init/defaults/main.yml --- roles/0-init/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/0-init/defaults/main.yml b/roles/0-init/defaults/main.yml index 667d3518b..6adb8394a 100644 --- a/roles/0-init/defaults/main.yml +++ b/roles/0-init/defaults/main.yml @@ -1,5 +1,5 @@ # Use these to tag a release at a point in time, for /etc/iiab/iiab.env -iiab_base_ver: 6.5 +iiab_base_ver: 6.6 iiab_revision: 0 # These entries should never be changed in this file. From 7af7b97ae7939eefe20d1360705b6e0497d35395 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:02:06 -0400 Subject: [PATCH 03/29] Create calibre-install-packages.sh --- scripts/calibre-install-packages.sh | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 scripts/calibre-install-packages.sh diff --git a/scripts/calibre-install-packages.sh b/scripts/calibre-install-packages.sh new file mode 100644 index 000000000..d8d3d9eb0 --- /dev/null +++ b/scripts/calibre-install-packages.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# Thanks to Jerry Vonau (https://github.com/jvonau) who made this critical +# breakthrough possible! +# +# Caveat: calibre-install-latest-rpi.sh worked up to Calibre 3.23 in May 2018, +# but fails to "apt install" Calibre 3.24+ in June 2018: +# +# The following packages have unmet dependencies: +# calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed +# E: Unable to correct problems, you have held broken packages. + +# So the new recipe (2018-06-18) for RPi is: +# +# 1. "apt install calibre calibre-bin" (2.75.1, part of Raspbian OS) +# +# 2. calibre-install-packages.sh installs those packages that +# calibre-install-latest-rpi.sh used to install for Calibre 3.23: +# +# https://github.com/iiab/iiab/pull/839 +# +# 3. calibre-install-latest.sh installs Debian's own calibre & calibre-bin etc: +# +# https://github.com/iiab/iiab/pull/833 # WORKED ON RPI 3 AND RPI 3 B+ +# https://github.com/iiab/iiab/issues/835 # FAILED ON RPI ZERO W, DUE TO INSTALLING libc6 (IF ABOVE STEP 2 NOT RUN!) + +# FYI Calibre 3.25 (and early signs of 3.26) are the latest available from +# testing as of 2018-06-18: +# +# http://raspbian.raspberrypi.org/raspbian/pool/main/c/calibre/ +# http://archive.raspbian.org/raspbian/pool/main/c/calibre/ +# https://packages.debian.org/search?keywords=calibre +# http://deb.debian.org/debian/pool/main/c/calibre/ +# +# Might break future updates; you have been warned. + +export DEBIAN_FRONTEND=noninteractive +# Prepares to update to latest from testing +echo "deb http://raspbian.raspberrypi.org/raspbian/ testing main" > /etc/apt/sources.list.d/rpi-testing.list +apt update +# packages below cribbed from Calibre 3.23 installation as recorded in /var/log/apt/history.log* +apt -y install libegl1 libegl-mesa0 libqt5sensors5 libbrotli1 libwoff1 libpodofo0.9.5 libjs-coffeescript python-regex libhyphen0 libqt5webchannel5 python-msgpack python-html5-parser libqt5positioning5 libpcre2-16-0 libglvnd0 libdrm-common python-sip libqt5svg5 libnih-dbus1 qt5-gtk-platformtheme libc6-dbg libqt5help5 libc6-dev libqt5dbus5 libqt5sql5-sqlite libc6 libqt5widgets5 locales libegl1-mesa python-pyqt5.qtsvg python-lxml fontconfig-config libqt5xml5 libgbm1 libqt5printsupport5 libqt5qml5 libc-l10n libqt5gui5 libc-bin libnih1 libqt5webkit5 python-pyqt5.qtwebkit libdrm2 libqt5core5a libfontconfig1 libqt5opengl5 libc-dev-bin python-pyqt5 libqt5network5 libqt5designer5 libqt5quick5 libqt5sql5 +# BUT DO NOT DO "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 +# Clears the cache of testing +apt update From 4cdf030284ea9fc324a107375a4fab3894997170 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:18:32 -0400 Subject: [PATCH 04/29] Update debs.yml --- roles/calibre/tasks/debs.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/roles/calibre/tasks/debs.yml b/roles/calibre/tasks/debs.yml index b00a69d7f..1410de03d 100644 --- a/roles/calibre/tasks/debs.yml +++ b/roles/calibre/tasks/debs.yml @@ -18,9 +18,13 @@ # If you want the latest Calibre, run the appropriate below script, standalone. # HOWEVER: it's strongly suggested you wait for apt (blessed by your OS!) -- name: Upgrade to Calibre testing .deb's - target Raspbian (rpi) - #command: scripts/calibre-install-latest-rpi.sh #fails with Calibre 3.24 & 3.25, and beyond? - command: scripts/calibre-install-latest.sh #Debian approach works for now (3.24 & 3.25) +- name: Install packages that Raspbian .deb's had installed for Calibre 3.23 (rpi) + #command: scripts/calibre-install-latest-rpi.sh # FAILS with Calibre 3.24+ ("calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed") since June 2018. + command: scripts/calibre-install-packages.sh # BORROWED package list from /var/log/apt/history.log (that resulted from 2018-05-22 install of Calibre 3.23 using calibre-install-latest-rpi.sh). + when: is_rpi and internet_available + +- name: Upgrade to latest Calibre using Debian's own .deb's from testing (rpi) + command: scripts/calibre-install-latest.sh # NECESSARY since Calibre 3.24 (but libc6 will prevent boot in RPi Zero W, if calibre-install-packages.sh isn't run above!) when: is_rpi and internet_available - name: Upgrade to Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18) From 161a1d60764b53e6ec41b8bb6024d00f69baf2d5 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:23:39 -0400 Subject: [PATCH 05/29] Update calibre-install-latest-rpi.sh --- scripts/calibre-install-latest-rpi.sh | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/scripts/calibre-install-latest-rpi.sh b/scripts/calibre-install-latest-rpi.sh index ada054c88..092cbb00c 100755 --- a/scripts/calibre-install-latest-rpi.sh +++ b/scripts/calibre-install-latest-rpi.sh @@ -3,25 +3,7 @@ # Thanks to Jerry Vonau (https://github.com/jvonau) who made this critical # breakthrough possible! # -# Worked up to Calibre 3.23 from May 2018. -# Calibre 3.24 and 3.25 fail to "apt install" in June 2018: -# -# The following packages have unmet dependencies: -# calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed -# E: Unable to correct problems, you have held broken packages. -# -# Debian approach (calibre-install-latest.sh) is the workaround for now: -# -# https://github.com/iiab/iiab/pull/833 -# -# Calibre 3.25 is the latest available from testing as of 2018-06-10: -# -# http://raspbian.raspberrypi.org/raspbian/pool/main/c/calibre/ -# http://archive.raspbian.org/raspbian/pool/main/c/calibre/ -# https://packages.debian.org/search?keywords=calibre -# http://deb.debian.org/debian/pool/main/c/calibre/ -# -# Might break future updates; you have been warned. +# SEE COMMENTS AT THE TOP OF scripts/calibre-install-packages.sh export DEBIAN_FRONTEND=noninteractive # Prepares to update to latest from testing From 34ed3a738357cc333e0d6fdfb5d70d6ff00e702f Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:23:50 -0400 Subject: [PATCH 06/29] Update calibre-install-latest.sh --- scripts/calibre-install-latest.sh | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/scripts/calibre-install-latest.sh b/scripts/calibre-install-latest.sh index 7de7a163f..75142a5c2 100755 --- a/scripts/calibre-install-latest.sh +++ b/scripts/calibre-install-latest.sh @@ -3,14 +3,7 @@ # Thanks to Jerry Vonau (https://github.com/jvonau) who made this critical # breakthrough possible! # -# Calibre 3.25 is the latest available from testing as of 2018-06-10: -# -# https://packages.debian.org/search?keywords=calibre -# http://deb.debian.org/debian/pool/main/c/calibre/ -# http://raspbian.raspberrypi.org/raspbian/pool/main/c/calibre/ -# http://archive.raspbian.org/raspbian/pool/main/c/calibre/ -# -# Might break future updates; you have been warned. +# SEE COMMENTS AT THE TOP OF scripts/calibre-install-packages.sh export DEBIAN_FRONTEND=noninteractive # Drags in stock desktop dependencies without too much from testing below From 8f39c3f55778f93cbf81e97711a4d8af67ff48c2 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:28:00 -0400 Subject: [PATCH 07/29] Update debs.yml --- roles/calibre/tasks/debs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/calibre/tasks/debs.yml b/roles/calibre/tasks/debs.yml index 1410de03d..74ce6539f 100644 --- a/roles/calibre/tasks/debs.yml +++ b/roles/calibre/tasks/debs.yml @@ -24,7 +24,7 @@ when: is_rpi and internet_available - name: Upgrade to latest Calibre using Debian's own .deb's from testing (rpi) - command: scripts/calibre-install-latest.sh # NECESSARY since Calibre 3.24 (but libc6 will prevent boot in RPi Zero W, if calibre-install-packages.sh isn't run above!) + 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 Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18) From d96409f1219fd6c287ab44a7bda5a3641f76bb6e Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:30:49 -0400 Subject: [PATCH 08/29] Update calibre-install-packages.sh --- scripts/calibre-install-packages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/calibre-install-packages.sh b/scripts/calibre-install-packages.sh index d8d3d9eb0..ef98ebfc8 100644 --- a/scripts/calibre-install-packages.sh +++ b/scripts/calibre-install-packages.sh @@ -40,7 +40,7 @@ echo "deb http://raspbian.raspberrypi.org/raspbian/ testing main" > /etc/apt/sou apt update # packages below cribbed from Calibre 3.23 installation as recorded in /var/log/apt/history.log* apt -y install libegl1 libegl-mesa0 libqt5sensors5 libbrotli1 libwoff1 libpodofo0.9.5 libjs-coffeescript python-regex libhyphen0 libqt5webchannel5 python-msgpack python-html5-parser libqt5positioning5 libpcre2-16-0 libglvnd0 libdrm-common python-sip libqt5svg5 libnih-dbus1 qt5-gtk-platformtheme libc6-dbg libqt5help5 libc6-dev libqt5dbus5 libqt5sql5-sqlite libc6 libqt5widgets5 locales libegl1-mesa python-pyqt5.qtsvg python-lxml fontconfig-config libqt5xml5 libgbm1 libqt5printsupport5 libqt5qml5 libc-l10n libqt5gui5 libc-bin libnih1 libqt5webkit5 python-pyqt5.qtwebkit libdrm2 libqt5core5a libfontconfig1 libqt5opengl5 libc-dev-bin python-pyqt5 libqt5network5 libqt5designer5 libqt5quick5 libqt5sql5 -# BUT DO NOT DO "apt -y install calibre calibre-bin" +# BUT DO NOT DO "apt -y install calibre calibre-bin" UNTIL calibre-install-latest.sh # 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 # Clears the cache of testing From 58ba823ee354a01cf9442a9ef58318c8aa7d5d25 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:51:41 -0400 Subject: [PATCH 09/29] scripts/calibre-install-packages.sh 644 -> 755 --- scripts/calibre-install-packages.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/calibre-install-packages.sh diff --git a/scripts/calibre-install-packages.sh b/scripts/calibre-install-packages.sh old mode 100644 new mode 100755 From d7520882118f13d43d0b58155f52c5c39b22fb38 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 18 Jun 2018 16:54:56 -0400 Subject: [PATCH 10/29] Update calibre-install-packages.sh --- scripts/calibre-install-packages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/calibre-install-packages.sh b/scripts/calibre-install-packages.sh index ef98ebfc8..c11186671 100755 --- a/scripts/calibre-install-packages.sh +++ b/scripts/calibre-install-packages.sh @@ -38,7 +38,7 @@ export DEBIAN_FRONTEND=noninteractive # Prepares to update to latest from testing echo "deb http://raspbian.raspberrypi.org/raspbian/ testing main" > /etc/apt/sources.list.d/rpi-testing.list apt update -# packages below cribbed from Calibre 3.23 installation as recorded in /var/log/apt/history.log* +# Packages below cribbed from Calibre 3.23 installation as recorded in /var/log/apt/history.log* apt -y install libegl1 libegl-mesa0 libqt5sensors5 libbrotli1 libwoff1 libpodofo0.9.5 libjs-coffeescript python-regex libhyphen0 libqt5webchannel5 python-msgpack python-html5-parser libqt5positioning5 libpcre2-16-0 libglvnd0 libdrm-common python-sip libqt5svg5 libnih-dbus1 qt5-gtk-platformtheme libc6-dbg libqt5help5 libc6-dev libqt5dbus5 libqt5sql5-sqlite libc6 libqt5widgets5 locales libegl1-mesa python-pyqt5.qtsvg python-lxml fontconfig-config libqt5xml5 libgbm1 libqt5printsupport5 libqt5qml5 libc-l10n libqt5gui5 libc-bin libnih1 libqt5webkit5 python-pyqt5.qtwebkit libdrm2 libqt5core5a libfontconfig1 libqt5opengl5 libc-dev-bin python-pyqt5 libqt5network5 libqt5designer5 libqt5quick5 libqt5sql5 # BUT DO NOT DO "apt -y install calibre calibre-bin" UNTIL calibre-install-latest.sh # Removes last line, safer than: rm /etc/apt/sources.list.d/rpi-testing.list From d7d5b96b76d39de85441453724a1d5d7fa0fec31 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 19 Jun 2018 12:37:59 -0400 Subject: [PATCH 11/29] skins commented out: CologneBlue & Modern --- roles/mediawiki/templates/LocalSettings.php.j2 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/mediawiki/templates/LocalSettings.php.j2 b/roles/mediawiki/templates/LocalSettings.php.j2 index 29546f93c..94ed015db 100644 --- a/roles/mediawiki/templates/LocalSettings.php.j2 +++ b/roles/mediawiki/templates/LocalSettings.php.j2 @@ -122,8 +122,9 @@ $wgDefaultSkin = "vector"; # Enabled skins. # The following skins were automatically enabled: -wfLoadSkin( 'CologneBlue' ); -wfLoadSkin( 'Modern' ); +#wfLoadSkin( 'CologneBlue' ); +#wfLoadSkin( 'Modern' ); +# Both above are no longer part of MediaWiki 1.31.0 wfLoadSkin( 'MonoBook' ); wfLoadSkin( 'Vector' ); From 164b9d5a697db9050c419fe136784d38a6f641b9 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 09:56:30 -0400 Subject: [PATCH 12/29] Warnings Strengthened --- scripts/ansible | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/ansible b/scripts/ansible index 433b60427..943acf317 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -53,20 +53,21 @@ if [ ! `command -v ansible-playbook` ]; then # "command -v" is POSIX compliant else #CURR_VER=`ansible --version | head -n 1 | cut -f 2 -d " "` CURR_VER=`ansible --version | head -1 | awk '{print $2}'` # to match iiab-install - echo "Current ansible version installed is $CURR_VER" + echo "Currently installed Ansible version is $CURR_VER" + echo "Internet-in-a-Box generally requires Ansible version $GOOD_VER or higher." if [ -f /etc/centos-release ] || [ -f /etc/fedora-release ]; then - echo "Please use your system's package manager to update ansible" + echo "Please use your system's package manager (or pip if necessary) to update Ansible." exit 0 elif [ -f /etc/olpc-release ]; then - echo "Please use pip package manager to update ansible" + echo "Please use pip package manager to update Ansible." exit 0 #fi #if [[ `grep -qi ansible /etc/apt/sources.list` ]] || [ -f /etc/apt/sources.list.d/ansible*.list ]; then elif (grep -qi ansible /etc/apt/sources.list) || (ls /etc/apt/sources.list.d/*ansible*.list >/dev/null 2>&1) ; then #echo "Ansible repo(s) found within /etc/apt/sources.list*" - echo -e '\nMANUAL INTERVENTION URGED: ANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" IF YOU WANT THE LATEST RELEASED VERSION OF ANSIBLE -- then re-run this script.\n' + echo -e '\nMANUAL INTERVENTION URGED:\nANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" IF YOU WANT THE LATEST RELEASED VERSION OF ANSIBLE -- then re-run this script.\n' else - echo "Upstream ansible source repo not found, please uninstall ansible and re-run this script" + echo -e '\nUpstream ansible source repo not found:\nPLEASE UNINSTALL ANSIBLE (run "apt purge ansible" or "pip uninstall ansible", depending how Ansible was originally installed) THEN RE-RUN THIS SCRIPT.' exit 1 fi fi From 5aabcaccd4609b0a122c584a4ac8d40f9a14ebf3 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:01:18 -0400 Subject: [PATCH 13/29] Update ansible --- scripts/ansible | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ansible b/scripts/ansible index 943acf317..0089de177 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -2,7 +2,8 @@ echo -e '\nATTEMPTING TO INSTALL THE LATEST (RELEASED VERSION OF) ANSIBLE.' echo -e 'Ensure you'"'"'re online before running this script!' -echo -e 'OR: consider scripts/ansible-2.4.x or scripts/ansible/2.5.x "slow food" instead.\n' +echo -e 'OR: consider scripts/ansible-2.4.x or scripts/ansible/2.5.x "slow food" instead.' +echo -e '\nhttps://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). # On other OS's we install/upgrade to THE latest (released version of) Ansible. From 2c1c1efe4a890736fd0f4a4d9e84d604b09d7f81 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:08:31 -0400 Subject: [PATCH 14/29] Update ansible --- scripts/ansible | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/ansible b/scripts/ansible index 0089de177..9c708ff8f 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -1,9 +1,9 @@ #!/bin/bash -e echo -e '\nATTEMPTING TO INSTALL THE LATEST (RELEASED VERSION OF) ANSIBLE.' -echo -e 'Ensure you'"'"'re online before running this script!' -echo -e 'OR: consider scripts/ansible-2.4.x or scripts/ansible/2.5.x "slow food" instead.' -echo -e '\nhttps://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' +echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/ansible)' +echo -e 'ALTERNATIVE: consider scripts/ansible/2.5.x "slow food" instead.' +echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch\n' GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). # On other OS's we install/upgrade to THE latest (released version of) Ansible. @@ -54,8 +54,8 @@ if [ ! `command -v ansible-playbook` ]; then # "command -v" is POSIX compliant else #CURR_VER=`ansible --version | head -n 1 | cut -f 2 -d " "` CURR_VER=`ansible --version | head -1 | awk '{print $2}'` # to match iiab-install - echo "Currently installed Ansible version is $CURR_VER" - echo "Internet-in-a-Box generally requires Ansible version $GOOD_VER or higher." + echo "Currently installed Ansible version is: $CURR_VER" + echo "Internet-in-a-Box generally requires Ansible version: $GOOD_VER or higher" if [ -f /etc/centos-release ] || [ -f /etc/fedora-release ]; then echo "Please use your system's package manager (or pip if necessary) to update Ansible." exit 0 From 516510c4c97c5ef9f6bdd5325e29fafde0845ad1 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:13:34 -0400 Subject: [PATCH 15/29] Update ansible --- scripts/ansible | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/ansible b/scripts/ansible index 9c708ff8f..506a781cb 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -2,8 +2,8 @@ echo -e '\nATTEMPTING TO INSTALL THE LATEST (RELEASED VERSION OF) ANSIBLE.' echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/ansible)' -echo -e 'ALTERNATIVE: consider scripts/ansible/2.5.x "slow food" instead.' echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch\n' +echo -e 'ALTERNATIVES: consider scripts/ansible-2.5.x "slow food" instead.' GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). # On other OS's we install/upgrade to THE latest (released version of) Ansible. @@ -55,7 +55,7 @@ else #CURR_VER=`ansible --version | head -n 1 | cut -f 2 -d " "` CURR_VER=`ansible --version | head -1 | awk '{print $2}'` # to match iiab-install echo "Currently installed Ansible version is: $CURR_VER" - echo "Internet-in-a-Box generally requires Ansible version: $GOOD_VER or higher" + echo -e "INTERNET-IN-A-BOX GENERALLY REQUIRES ANSIBLE VERSION: $GOOD_VER or higher\n" if [ -f /etc/centos-release ] || [ -f /etc/fedora-release ]; then echo "Please use your system's package manager (or pip if necessary) to update Ansible." exit 0 @@ -66,9 +66,9 @@ else #if [[ `grep -qi ansible /etc/apt/sources.list` ]] || [ -f /etc/apt/sources.list.d/ansible*.list ]; then elif (grep -qi ansible /etc/apt/sources.list) || (ls /etc/apt/sources.list.d/*ansible*.list >/dev/null 2>&1) ; then #echo "Ansible repo(s) found within /etc/apt/sources.list*" - echo -e '\nMANUAL INTERVENTION URGED:\nANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" IF YOU WANT THE LATEST RELEASED VERSION OF ANSIBLE -- then re-run this script.\n' + echo -e 'MANUAL INTERVENTION URGED:\nANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" IF YOU WANT THE LATEST RELEASED VERSION OF ANSIBLE -- then re-run this script.\n' else - echo -e '\nUpstream ansible source repo not found:\nPLEASE UNINSTALL ANSIBLE (run "apt purge ansible" or "pip uninstall ansible", depending how Ansible was originally installed) THEN RE-RUN THIS SCRIPT.' + echo -e 'Upstream ansible source repo not found:\nPLEASE UNINSTALL ANSIBLE (run "apt purge ansible" or "pip uninstall ansible", depending how Ansible was originally installed) THEN RE-RUN THIS SCRIPT.' exit 1 fi fi From 918ea7d49115d1a287a5d4ae540ab31b577b4cd0 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:14:12 -0400 Subject: [PATCH 16/29] Update ansible --- scripts/ansible | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ansible b/scripts/ansible index 506a781cb..0eeefdd2c 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -2,8 +2,8 @@ echo -e '\nATTEMPTING TO INSTALL THE LATEST (RELEASED VERSION OF) ANSIBLE.' echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/ansible)' -echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch\n' -echo -e 'ALTERNATIVES: consider scripts/ansible-2.5.x "slow food" instead.' +echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' +echo -e 'ALTERNATIVES: consider scripts/ansible-2.5.x "slow food" instead.\n' GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). # On other OS's we install/upgrade to THE latest (released version of) Ansible. From a3ea851b1fb77aac3bdb0daac8584fe22fe7885d Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:18:13 -0400 Subject: [PATCH 17/29] Rename ansible-2.4.x to ansible-2.4.x-deprecated --- scripts/{ansible-2.4.x => ansible-2.4.x-deprecated} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/{ansible-2.4.x => ansible-2.4.x-deprecated} (100%) diff --git a/scripts/ansible-2.4.x b/scripts/ansible-2.4.x-deprecated similarity index 100% rename from scripts/ansible-2.4.x rename to scripts/ansible-2.4.x-deprecated From 8ee15f232ed5f57f6591dc145802ca92b39a0ad2 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:21:18 -0400 Subject: [PATCH 18/29] Update ansible --- scripts/ansible | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ansible b/scripts/ansible index 0eeefdd2c..da3d31afc 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -3,7 +3,7 @@ echo -e '\nATTEMPTING TO INSTALL THE LATEST (RELEASED VERSION OF) ANSIBLE.' echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/ansible)' echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' -echo -e 'ALTERNATIVES: consider scripts/ansible-2.5.x "slow food" instead.\n' +echo -e 'ALTERNATIVES: Consider scripts/ansible-2.5.x "slow food" instead.\n' GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). # On other OS's we install/upgrade to THE latest (released version of) Ansible. From 4400a7fe59d026382abaf121f9a79d908203d8dd Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:28:08 -0400 Subject: [PATCH 19/29] Update ansible --- scripts/ansible | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ansible b/scripts/ansible index da3d31afc..1eb34e4b2 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -66,7 +66,7 @@ else #if [[ `grep -qi ansible /etc/apt/sources.list` ]] || [ -f /etc/apt/sources.list.d/ansible*.list ]; then elif (grep -qi ansible /etc/apt/sources.list) || (ls /etc/apt/sources.list.d/*ansible*.list >/dev/null 2>&1) ; then #echo "Ansible repo(s) found within /etc/apt/sources.list*" - echo -e 'MANUAL INTERVENTION URGED:\nANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" IF YOU WANT THE LATEST RELEASED VERSION OF ANSIBLE -- then re-run this script.\n' + echo -e 'MANUAL INTERVENTION URGED:\nANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" IF YOU WANT THE LATEST ANSIBLE -- AND REMOVE ALL SIMILAR LINES TO ENSURE ANSIBLE UPDATES CLEANLY -- then re-run this script.\n' else echo -e 'Upstream ansible source repo not found:\nPLEASE UNINSTALL ANSIBLE (run "apt purge ansible" or "pip uninstall ansible", depending how Ansible was originally installed) THEN RE-RUN THIS SCRIPT.' exit 1 @@ -77,7 +77,7 @@ if [ ! -f /etc/centos-release ] && [ ! -f /etc/fedora-release ] && [ ! -f /etc/o # Align IIAB with Ansible community's latest official release echo "Using apt to check for updates, then install/upgrade ansible" apt update - apt -y install ansible + apt -y --allow-downgrades install ansible # TEMPORARILY USE ANSIBLE 2.4.4 (REMOVE IT WITH "pip uninstall ansible") #pip install ansible==2.4.4 From d82e7111a7d2e6cfffcb0aefeea8996c24a84d69 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:29:46 -0400 Subject: [PATCH 20/29] Update ansible-2.5.x --- scripts/ansible-2.5.x | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/ansible-2.5.x b/scripts/ansible-2.5.x index 53b076388..41da2ea27 100755 --- a/scripts/ansible-2.5.x +++ b/scripts/ansible-2.5.x @@ -1,8 +1,9 @@ #!/bin/bash -e echo -e '\nATTEMPTING TO INSTALL THE LATEST ANSIBLE 2.5.x' -echo -e 'Ensure you'"'"'re online before running this script!' -echo -e 'OR: consider scripts/ansible to keep up-to-date with Ansible'"'"'s evolution.\n' +echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/ansible-2.5.x)' +echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' +echo -e 'ALTERNATIVE: Consider scripts/ansible to keep up-to-date as Ansible evolves.\n' GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). # On other OS's we attempt to install/upgrade/pin to the latest Ansible 2.5.x @@ -53,7 +54,8 @@ if [ ! `command -v ansible-playbook` ]; then # "command -v" is POSIX compliant else #CURR_VER=`ansible --version | head -n 1 | cut -f 2 -d " "` CURR_VER=`ansible --version | head -1 | awk '{print $2}'` # to match iiab-install - echo "Current ansible version installed is $CURR_VER" + echo "Currently installed Ansible version is: $CURR_VER" + echo -e "INTERNET-IN-A-BOX GENERALLY REQUIRES ANSIBLE VERSION: $GOOD_VER or higher\n" if [ -f /etc/centos-release ] || [ -f /etc/fedora-release ]; then echo "Please use your system's package manager to update ansible" exit 0 @@ -64,9 +66,9 @@ else #if [[ `grep -qi ansible /etc/apt/sources.list` ]] || [ -f /etc/apt/sources.list.d/ansible*.list ]; then elif (grep -qi ansible /etc/apt/sources.list) || (ls /etc/apt/sources.list.d/*ansible*.list >/dev/null 2>&1) ; then #echo "Ansible repo(s) found within /etc/apt/sources.list*" - echo -e '\nMANUAL INTERVENTION URGED: ANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible-2.5/ubuntu xenial main" IF YOU WANT THE LATEST ANSIBLE 2.5.x -- AND REMOVE ALL SIMILAR LINES TO ENSURE ANSIBLE UPDATES CLEANLY -- then re-run this script.\n' + echo -e 'MANUAL INTERVENTION URGED:\nANSIBLE REPO(S) FOUND WITHIN /etc/apt/sources.list AND/OR /etc/apt/sources.list.d/*ansible*.list -- MUST CONTAIN LINE "deb http://ppa.launchpad.net/ansible/ansible-2.5/ubuntu xenial main" IF YOU WANT THE LATEST ANSIBLE 2.5.x -- AND REMOVE ALL SIMILAR LINES TO ENSURE ANSIBLE UPDATES CLEANLY -- then re-run this script.\n' else - echo "Upstream ansible source repo not found, please uninstall ansible and re-run this script" + echo -e 'Upstream ansible source repo not found:\nPLEASE UNINSTALL ANSIBLE (run "apt purge ansible" or "pip uninstall ansible", depending how Ansible was originally installed) THEN RE-RUN THIS SCRIPT.' exit 1 fi fi From da2dd867325b4ef89ba12d02961e12acdc3450de Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:32:40 -0400 Subject: [PATCH 21/29] Update ansible --- scripts/ansible | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ansible b/scripts/ansible index 1eb34e4b2..8d4f7ead8 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -57,7 +57,7 @@ else echo "Currently installed Ansible version is: $CURR_VER" echo -e "INTERNET-IN-A-BOX GENERALLY REQUIRES ANSIBLE VERSION: $GOOD_VER or higher\n" if [ -f /etc/centos-release ] || [ -f /etc/fedora-release ]; then - echo "Please use your system's package manager (or pip if necessary) to update Ansible." + echo "Please use your system's package manager (or pip if nec) to update Ansible." exit 0 elif [ -f /etc/olpc-release ]; then echo "Please use pip package manager to update Ansible." From 7d36b597072e3971dd30ed57319bdcaffde20c8e Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 10:33:17 -0400 Subject: [PATCH 22/29] Update ansible-2.5.x --- scripts/ansible-2.5.x | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ansible-2.5.x b/scripts/ansible-2.5.x index 41da2ea27..1067f7ee0 100755 --- a/scripts/ansible-2.5.x +++ b/scripts/ansible-2.5.x @@ -57,10 +57,10 @@ else echo "Currently installed Ansible version is: $CURR_VER" echo -e "INTERNET-IN-A-BOX GENERALLY REQUIRES ANSIBLE VERSION: $GOOD_VER or higher\n" if [ -f /etc/centos-release ] || [ -f /etc/fedora-release ]; then - echo "Please use your system's package manager to update ansible" + echo "Please use your system's package manager (or pip if nec) to update Ansible." exit 0 elif [ -f /etc/olpc-release ]; then - echo "Please use pip package manager to update ansible" + echo "Please use pip package manager to update Ansible." exit 0 #fi #if [[ `grep -qi ansible /etc/apt/sources.list` ]] || [ -f /etc/apt/sources.list.d/ansible*.list ]; then From 82f22ee6210943d0b2f720b0791fd470c119dcdb Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Wed, 20 Jun 2018 10:59:46 -0400 Subject: [PATCH 23/29] server parameter creates error in LocalSettings which I patched this hopefully solves the problem --- roles/mediawiki/tasks/install.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 4b8768a42..cd89c0c71 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -53,7 +53,6 @@ --installdbpass={{ mediawiki_db_user_password }} --dbuser={{ mediawiki_db_user }} --dbpass={{ mediawiki_db_user_password }} - --server="{{ iiab_hostname }}.{{ iiab_domain }}" --scriptpath=/mediawiki --lang=en --pass={{ mediawiki_admin_user_password }} @@ -63,14 +62,6 @@ chdir: "{{ mediawiki_abs_path }}" creates: "{{ mediawiki_abs_path }}/LocalSettings.php" -- name: Copy mediawiki config file to change a few calculated settings - template: - src: LocalSettings.php.j2 - dest: "{{ mediawiki_abs_path }}/LocalSettings.php" - owner: root - group: "{{ apache_user }}" - mode: 0640 - - name: Copy mediawiki httpd conf file template: src: mediawiki.conf.j2 From f2a92d22008c5d61bb47d76373f8cea57d86b25b Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Wed, 20 Jun 2018 11:00:23 -0400 Subject: [PATCH 24/29] remove template --- .../mediawiki/templates/LocalSettings.php.j2 | 134 ------------------ 1 file changed, 134 deletions(-) delete mode 100644 roles/mediawiki/templates/LocalSettings.php.j2 diff --git a/roles/mediawiki/templates/LocalSettings.php.j2 b/roles/mediawiki/templates/LocalSettings.php.j2 deleted file mode 100644 index 94ed015db..000000000 --- a/roles/mediawiki/templates/LocalSettings.php.j2 +++ /dev/null @@ -1,134 +0,0 @@ - Date: Wed, 20 Jun 2018 12:27:15 -0400 Subject: [PATCH 25/29] kiwix-tools 2018-05-24 -> 0.6.0 (2018-06-20) --- roles/kiwix/defaults/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/kiwix/defaults/main.yml b/roles/kiwix/defaults/main.yml index 172cdb5ce..4e3fe36ae 100644 --- a/roles/kiwix/defaults/main.yml +++ b/roles/kiwix/defaults/main.yml @@ -1,9 +1,9 @@ # Which kiwix-tools to download from http://download.iiab.io/packages/ # As obtained from http://download.kiwix.org/release/kiwix-tools/ or http://download.kiwix.org/nightly/ -kiwix_version_armhf: "kiwix-tools_linux-armhf-2018-05-24" -kiwix_version_linux64: "kiwix-tools_linux-x86_64-2018-05-24" -kiwix_version_i686: "kiwix-tools_linux-i586-2018-05-24" +kiwix_version_armhf: "kiwix-tools_linux-armhf-0.6.0" +kiwix_version_linux64: "kiwix-tools_linux-i586-0.6.0" +kiwix_version_i686: "kiwix-tools_linux-x86_64-0.6.0" # kiwix_src_file_i686: "kiwix-linux-i686.tar.bz2" # v0.9 for i686 published May 2014 ("use it to test legacy ZIM content") # v0.10 for i686 published Oct 2016 ("experimental") REPLACED IN EARLY 2018, thx to Matthieu Gautier: From 9e712928cf3a900f7c8d03f7e3bec3d12138307d Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 16:53:21 -0400 Subject: [PATCH 26/29] TimeoutStartSec=400 (seconds, for RPi Zero W) --- roles/calibre/templates/calibre-serve.service.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/calibre/templates/calibre-serve.service.j2 b/roles/calibre/templates/calibre-serve.service.j2 index 524845b6e..97e10d6d3 100644 --- a/roles/calibre/templates/calibre-serve.service.j2 +++ b/roles/calibre/templates/calibre-serve.service.j2 @@ -5,6 +5,7 @@ After=syslog.target network.target local-fs.target [Service] Type=forking PIDFile=/var/run/calibre.pid +TimeoutStartSec=400 ExecStart=/usr/bin/calibre-server --daemonize --log=/var/log/calibre.log --pidfile=/var/run/calibre.pid --port={{ calibre_port }} {{ calibre_dbpath }} [Install] From 84b5ef14d1387b6e30c90bfcc12bb210b93e0132 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 19:35:48 -0400 Subject: [PATCH 27/29] Ansible needs dirmngr but not python-pip python-setuptools python-wheel patch --- scripts/ansible | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ansible b/scripts/ansible index 433b60427..f46431834 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -39,7 +39,8 @@ if [ ! `command -v ansible-playbook` ]; then # "command -v" is POSIX compliant elif [ -f /etc/debian_version ] || (grep -qi raspbian /etc/*elease) ; then if ( ! grep -qi ansible /etc/apt/sources.list) && [ ! -f /etc/apt/sources.list.d/ansible ]; then apt update - apt -y install dirmngr python-pip python-setuptools python-wheel patch + apt -y install dirmngr + #apt -y install dirmngr python-pip python-setuptools python-wheel patch echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" \ >> /etc/apt/sources.list.d/iiab-ansible.list #echo "deb http://ppa.launchpad.net/ansible/ansible-2.4/ubuntu xenial main" \ From 7739c98a8136d8ed696a93a27c034268741403cc Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 19:37:25 -0400 Subject: [PATCH 28/29] Ansible needs dirmngr but not python-pip python-setuptools python-wheel patch --- scripts/ansible-2.5.x | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ansible-2.5.x b/scripts/ansible-2.5.x index 53b076388..a2be87da2 100755 --- a/scripts/ansible-2.5.x +++ b/scripts/ansible-2.5.x @@ -39,7 +39,8 @@ if [ ! `command -v ansible-playbook` ]; then # "command -v" is POSIX compliant elif [ -f /etc/debian_version ] || (grep -qi raspbian /etc/*elease) ; then if ( ! grep -qi ansible /etc/apt/sources.list) && [ ! -f /etc/apt/sources.list.d/ansible ]; then apt update - apt -y install dirmngr python-pip python-setuptools python-wheel patch + #apt -y install dirmngr python-pip python-setuptools python-wheel patch + apt -y install dirmngr #echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" \ # >> /etc/apt/sources.list.d/iiab-ansible.list echo "deb http://ppa.launchpad.net/ansible/ansible-2.5/ubuntu xenial main" \ From a69af41a36f18290e275e003051adf7e4d82cf3e Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 20 Jun 2018 19:38:10 -0400 Subject: [PATCH 29/29] Update ansible --- scripts/ansible | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ansible b/scripts/ansible index f46431834..5e9cf6dc7 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -39,8 +39,8 @@ if [ ! `command -v ansible-playbook` ]; then # "command -v" is POSIX compliant elif [ -f /etc/debian_version ] || (grep -qi raspbian /etc/*elease) ; then if ( ! grep -qi ansible /etc/apt/sources.list) && [ ! -f /etc/apt/sources.list.d/ansible ]; then apt update - apt -y install dirmngr #apt -y install dirmngr python-pip python-setuptools python-wheel patch + apt -y install dirmngr echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu xenial main" \ >> /etc/apt/sources.list.d/iiab-ansible.list #echo "deb http://ppa.launchpad.net/ansible/ansible-2.4/ubuntu xenial main" \