git: 678db807ed62 - main - security/acme.sh: fix post-install script
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 08 Oct 2023 12:25:22 UTC
The branch main has been updated by dvl:
URL: https://cgit.FreeBSD.org/ports/commit/?id=678db807ed62622394f5ce17b7e492a300d10043
commit 678db807ed62622394f5ce17b7e492a300d10043
Author: Dan Langille <dvl@FreeBSD.org>
AuthorDate: 2023-10-08 12:22:15 +0000
Commit: Dan Langille <dvl@FreeBSD.org>
CommitDate: 2023-10-08 12:25:19 +0000
security/acme.sh: fix post-install script
The install script contained a syntax error which caused the log file
to not be created.
While here:
* rename script from pkg-install to pkg-post-install
* include another crontab example which provides additional contet to
logging.
PR: 274348
---
security/acme.sh/Makefile | 1 +
security/acme.sh/files/acme-crontab.in | 24 +++++++++++++++++++++---
security/acme.sh/pkg-install | 11 -----------
security/acme.sh/pkg-post-install | 7 +++++++
4 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/security/acme.sh/Makefile b/security/acme.sh/Makefile
index 47af0b99895c..7b383a071e92 100644
--- a/security/acme.sh/Makefile
+++ b/security/acme.sh/Makefile
@@ -1,5 +1,6 @@
PORTNAME= acme.sh
PORTVERSION= 3.0.7
+PORTREVISION= 1
CATEGORIES= security
MAINTAINER= dvl@FreeBSD.org
diff --git a/security/acme.sh/files/acme-crontab.in b/security/acme.sh/files/acme-crontab.in
index ffde51de652f..7793b84a8bf9 100644
--- a/security/acme.sh/files/acme-crontab.in
+++ b/security/acme.sh/files/acme-crontab.in
@@ -1,5 +1,5 @@
#
-# This file should be copied to /usr/local/etc/cron.d/acme
+# This file should be copied to %%PREFIX%%/etc/cron.d/acme
# use /bin/sh to run commands, overriding the default set by cron
#SHELL=/bin/sh
@@ -7,6 +7,24 @@
# mail any output to here, no matter whose crontab this is
#MAILTO=me@example.org
-# set mm and hh to the time (e.g. hh:mm) of day you want the
-# cronjob to run
+# uncomment, set mm and hh to the time (e.g. hh:mm) of day you want the
+# cronjob to run - pick one of the following and enable it. Running more
+# than one won't hurt, but you should avoid running them concurrently.
+#
+# the lockf ensures only one runs at a time if for some reason it never completes.
+# I tend to do this for most cronjobs.
+
+
+# This will send only errors to your email, everything else goes to /dev/null
+# I find it lacks context.
mm hh * * * %%ACME_USER%% %%PREFIX%%/sbin/acme.sh --cron --home /var/db/acme/.acme.sh > /dev/null
+
+#
+# This dumps STDERR and STDOUT to a file and should never generate an email.
+# The resulting log file shows any errors in context, which I found more useful for debugging.
+# I set this file to rotate daily, since the cronjob also runs daily.
+# I still get email if something goes wrong, via the SAVED_MAIL_FROM and
+# SAVED_MAIL_TO options in account.conf - I also use NOTIFY_HOOK='pushover,mail'
+# which requires setting SAVED_PUSHOVER_TOKEN and SAVED_PUSHOVER_USER.
+#
+mm hh * * * %%ACME_USER%% /usr/bin/lockf -t 0 /tmp/.acme.sh.cronjob %%PREFIX%%/sbin/acme.sh --cron --home /var/db/acme/.acme.sh > /var/log/acme.sh.cronjob.log 2>&1
diff --git a/security/acme.sh/pkg-install b/security/acme.sh/pkg-install
deleted file mode 100644
index 63e21b1daa57..000000000000
--- a/security/acme.sh/pkg-install
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-case $2 in
- POST-INSTALL)
- # create the log file, if it does not exist
- if [ !-f /var/log/acme.sh.log ]
- then
- /usr/bin/install -C -m 640 -o acme -g acme /dev/null /var/log/acme.sh.log
- fi
- ;;
-esac
diff --git a/security/acme.sh/pkg-post-install b/security/acme.sh/pkg-post-install
new file mode 100644
index 000000000000..7f1b8ddddc63
--- /dev/null
+++ b/security/acme.sh/pkg-post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# create the log file, if it does not exist
+if [ ! -f /var/log/acme.sh.log ]
+then
+ /usr/bin/install -C -m 640 -o acme -g acme /dev/null /var/log/acme.sh.log
+fi