diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/dependencies.d/init-mods new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/run new file mode 100755 index 0000000..06388c6 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/run @@ -0,0 +1,61 @@ +#!/usr/bin/with-contenv bash + +if [[ "$(uname -m)" == "armv7l" ]]; then +cat <<-EOF + ******************************************************** + ******************************************************** + * * + * !!!! * + * universal-calibre mod is not supported on armhf. * + * * + ******************************************************** + ******************************************************** +EOF +exit 0 +fi + +if [ ! -f /usr/bin/apt ]; then +cat <<-EOF + ******************************************************** + ******************************************************** + * * + * !!!! * + * universal-calibre mod is only supported on images * + * using an Ubuntu base image. * + * * + ******************************************************** + ******************************************************** +EOF +exit 0 +fi + +if ! dpkg -s xz-utils >/dev/null 2>&1; then + PACKAGES="xz-utils ${PACKAGES}" +fi + +if [ ! -L /usr/lib/x86_64-linux-gnu/libGL.so.1 ]; then + PACKAGES="libgl1-mesa-glx ${PACKAGES}" +fi + +if [ ! -L /usr/lib/x86_64-linux-gnu/libxdamage.so.1 ]; then + PACKAGES="libxdamage1 ${PACKAGES}" +fi + +if [ ! -L /usr/lib/x86_64-linux-gnu/libEGL.so.1 ]; then + PACKAGES="libegl1 ${PACKAGES}" +fi + +if [ ! -L /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 ]; then + PACKAGES="libxkbcommon0 ${PACKAGES}" +fi + +if [ ! -L /usr/lib/x86_64-linux-gnu/libOpenGL.so.0 ]; then + PACKAGES="libopengl0 ${PACKAGES}" +fi + +if [ -n "${PACKAGES}" ]; then + echo "${PACKAGES}" >> /mod-repo-packages-to-install.list + echo "**** Adding calibre dependencies to package install list ****" +else + echo "**** Calibre dependencies already installed, skipping ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/type b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/up b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/up new file mode 100644 index 0000000..64475d8 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-add-package/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/dependencies.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/dependencies.d/init-mods-package-install new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/run new file mode 100755 index 0000000..fbb4bb7 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/run @@ -0,0 +1,63 @@ +#!/usr/bin/with-contenv bash + +if [[ "$(uname -m)" == "armv7l" ]]; then +cat <<-EOF + ******************************************************** + ******************************************************** + * * + * !!!! * + * universal-calibre mod is not supported on armhf. * + * * + ******************************************************** + ******************************************************** +EOF +exit 0 +fi + +if [ ! -f /usr/bin/apt ]; then +cat <<-EOF + ******************************************************** + ******************************************************** + * * + * !!!! * + * universal-calibre mod is only supported on images * + * using an Ubuntu base image. * + * * + ******************************************************** + ******************************************************** +EOF +exit 0 +fi + +export DEBIAN_FRONTEND="noninteractive" + +CALIBRE_RELEASE="$(cat /CALIBRE_RELEASE)" +if [ -z ${CALIBRE_RELEASE+x} ]; then + CALIBRE_RELEASE=$(curl -sX GET "https://api.github.com/repos/kovidgoyal/calibre/releases/latest" \ + | awk '/tag_name/{print $4;exit}' FS='[""]'); \ +fi + + +if [ ! -e /usr/bin/calibre-server ] || [ "${CALIBRE_RELEASE}" != "$(cat /config/.CALIBRE_RELEASE || :)" ]; then + echo "**** Installing/updating calibre ****" + rm -rf /app/calibre + mkdir -p \ + /app/calibre + if [ "$(uname -m)" == "x86_64" ]; then + curl -o \ + /tmp/calibre.txz -L \ + "https://github.com/kovidgoyal/calibre/releases/download/${CALIBRE_RELEASE}/calibre-${CALIBRE_RELEASE:1}-x86_64.txz" + elif [ "$(uname -m)" == "aarch64" ]; then + curl -o \ + /tmp/calibre.txz -L \ + "https://github.com/kovidgoyal/calibre/releases/download/${CALIBRE_RELEASE}/calibre-${CALIBRE_RELEASE:1}-arm64.txz" + fi + tar xf \ + /tmp/calibre.txz \ + -C /app/calibre + rm /tmp/calibre.txz + /app/calibre/calibre_postinstall + echo "${CALIBRE_RELEASE}" > /config/.CALIBRE_RELEASE +else + echo "**** Calibre already installed, skipping ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/type b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/up b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/up new file mode 100644 index 0000000..3133d13 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-universal-calibre-setup/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-universal-calibre-setup b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-universal-calibre-setup new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-calibre-add-package b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-calibre-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-calibre-add-package b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-calibre-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-calibre-setup b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-calibre-setup new file mode 100644 index 0000000..e69de29