From 60d4ea1368041369ef48cb68220cd06141397353 Mon Sep 17 00:00:00 2001 From: aptalca Date: Fri, 26 Aug 2022 12:30:09 -0400 Subject: [PATCH] switch to hybrid --- .../dependencies.d/init-mods | 0 .../init-mod-universal-cron-add-package/run | 8 +++++ .../init-mod-universal-cron-add-package/type | 1 + .../init-mod-universal-cron-add-package/up | 1 + .../dependencies.d/init-mods-package-install | 0 .../s6-rc.d/init-mod-universal-cron-setup/run | 33 +++++++++++++++++++ .../init-mod-universal-cron-setup/type | 1 + .../s6-rc.d/init-mod-universal-cron-setup/up | 1 + .../init-mod-universal-cron-setup | 0 .../init-mod-universal-cron-add-package | 0 .../dependencies.d/init-services | 0 .../s6-rc.d/svc-mod-universal-cron/run | 9 +++++ .../s6-rc.d/svc-mod-universal-cron/type | 1 + .../init-mod-universal-cron-add-package | 0 .../contents.d/init-mod-universal-cron-setup | 0 .../user/contents.d/svc-mod-universal-cron | 0 root/etc/services.d/cron/run | 0 17 files changed, 55 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/dependencies.d/init-mods create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/dependencies.d/init-mods-package-install create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-universal-cron-setup create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-cron-add-package create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/dependencies.d/init-services create mode 100755 root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/run create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-add-package create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-setup create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-universal-cron mode change 100644 => 100755 root/etc/services.d/cron/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-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-cron-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run new file mode 100755 index 0000000..a4b75ae --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run @@ -0,0 +1,8 @@ +#!/usr/bin/with-contenv bash + +if [ ! -f /usr/sbin/cron ] && [ -f /usr/bin/apt ]; then + echo "**** Adding cron to package install list ****" + echo "cron" >> /mod-repo-packages-to-install.list +else + echo "**** cron package already installed, skipping ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-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-cron-add-package/up b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up new file mode 100644 index 0000000..f29dc41 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-add-package/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/dependencies.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-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-cron-setup/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/run new file mode 100755 index 0000000..e09dfc3 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/run @@ -0,0 +1,33 @@ +#!/usr/bin/with-contenv bash + +# make folders +mkdir -p \ + /config/crontabs + +# if root crontabs do not exist in config +# copy root crontab from system +if [[ ! -f /config/crontabs/root ]] && \ +crontab -l -u root; then + crontab -l -u root > /config/crontabs/root +fi + +# if root crontabs still do not exist in config (were not copied from system) +# copy root crontab from included defaults +[[ ! -f /config/crontabs/root ]] && \ + cp /defaults/crontabs-mod/root /config/crontabs/ + +# if abc crontabs do not exist in config +# copy abc crontab from system +if [[ ! -f /config/crontabs/abc ]] && \ +crontab -l -u abc; then + crontab -l -u abc > /config/crontabs/abc +fi + +# if abc crontabs still do not exist in config (were not copied from system) +# copy abc crontab from included defaults +[[ ! -f /config/crontabs/abc ]] && \ + cp /defaults/crontabs-mod/abc /config/crontabs/ + +# import user crontabs +crontab -u root /config/crontabs/root +crontab -u abc /config/crontabs/abc diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/type b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-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-cron-setup/up b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/up new file mode 100644 index 0000000..b9dabf7 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-setup/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-universal-cron-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-cron-setup b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-universal-cron-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-cron-add-package b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-universal-cron-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/run b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/run new file mode 100755 index 0000000..4eec279 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/run @@ -0,0 +1,9 @@ +#!/usr/bin/with-contenv bash + +if [ -f /usr/bin/apt ]; then + # ubuntu + exec /usr/sbin/cron -f -L 1 +elif [ -f /sbin/apk ]; then + # alpine + exec /usr/sbin/crond -f -S -l 5 +fi diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/type b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/type new file mode 100644 index 0000000..1780f9f --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-cron/type @@ -0,0 +1 @@ +longrun \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-add-package b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-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-cron-setup b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-cron-setup new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-universal-cron b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-universal-cron new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/services.d/cron/run b/root/etc/services.d/cron/run old mode 100644 new mode 100755