Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Oct 2022 20:04:31 GMT
From:      Dan Langille <dvl@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 318400ae027b - main - security/acme.sh: Change crontab and add newsyslog
Message-ID:  <202210112004.29BK4VcO062127@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dvl:

URL: https://cgit.FreeBSD.org/ports/commit/?id=318400ae027bf074838191f09437c19be5b062ff

commit 318400ae027bf074838191f09437c19be5b062ff
Author:     Dan Langille <dvl@FreeBSD.org>
AuthorDate: 2022-10-11 20:00:40 +0000
Commit:     Dan Langille <dvl@FreeBSD.org>
CommitDate: 2022-10-11 20:04:23 +0000

    security/acme.sh: Change crontab and add newsyslog
    
    This update may break your install if you were using a symlink to
    %%EXAMPLESDIR%%/acme.sh.conf - that file is no longer installed. Instead,
    a log rotation configuration is now installed to etc/cron.d/acme.sh.sample
    you should modify etc/cron.d/acme.sh to needs.
    
    The port now installs a log rotation file to etc/newsyslog.d/acme.sh.sample
    and you you should update etc/newsyslog.d/acme.sh to suit your needs.
    This file has long been part of the port, but was never installed.
    
    Neither the log rotation nor the crontab are active until you remove the
    comments.
    
    While here, several portclippy updates
    
    Reported by:    marck
---
 UPDATING                                           | 16 +++++++++
 security/acme.sh/Makefile                          | 39 ++++++++++++----------
 security/acme.sh/files/acme-crontab.in             |  7 ++++
 .../acme.sh/files/{acme.sh.conf => acme-newsyslog} |  0
 security/acme.sh/files/pkg-message.in              | 21 +++++-------
 security/acme.sh/pkg-plist                         |  3 +-
 6 files changed, 54 insertions(+), 32 deletions(-)

diff --git a/UPDATING b/UPDATING
index a2f53794ba63..9087d5dac2b6 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,22 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20221011:
+  AFFECTS: users of security/acme.sh
+  AUTHOR: dvl@FreeBSD.org
+
+  This update may break your install if you were using a symlink to 
+  %%EXAMPLESDIR%%/acme.sh.conf - that file is no longer installed. Instead,
+  a log rotation configuration is now installed to etc/cron.d/acme.sh.sample
+  you should modify etc/cron.d/acme.sh to needs.
+
+  The port now installs a log rotation file to etc/newsyslog.d/acme.sh.sample
+  and you you should update etc/newsyslog.d/acme.sh to suit your needs.
+  This file has long been part of the port, but was never installed.
+
+  Neither the log rotation nor the crontab are active until you remove the
+  comments.
+
 20221002:
   AFFECTS: users of shells/bash
   AUTHOR: ehaupt@FreeBSD.org
diff --git a/security/acme.sh/Makefile b/security/acme.sh/Makefile
index 6d8d81e60fd2..4805f9b9ffba 100644
--- a/security/acme.sh/Makefile
+++ b/security/acme.sh/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	acme.sh
 PORTVERSION=	3.0.4
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	security
 
 MAINTAINER=	dvl@FreeBSD.org
@@ -12,43 +12,47 @@ LICENSE=	GPLv3+
 USE_GITHUB=	yes
 GH_ACCOUNT=	Neilpang
 
-USERS=	acme
-GROUPS=	acme
+USERS=		acme
+GROUPS=		acme
 
-OPTIONS_DEFINE=	BINDTOOLS DOCS EXAMPLES IDN STANDALONE
-OPTIONS_SINGLE=	HTTP
-OPTIONS_SINGLE_HTTP=	CURL WGET
+OPTIONS_DEFINE=		BINDTOOLS DOCS EXAMPLES IDN STANDALONE
 OPTIONS_DEFAULT=	CURL STANDALONE
+OPTIONS_SINGLE=		HTTP
+OPTIONS_SINGLE_HTTP=	CURL WGET
+
 BINDTOOLS_DESC=	Depend on bind-tools for nsupdate
-BINDTOOLS_RUN_DEPENDS=	nsupdate:dns/bind-tools
-IDN_RUN_DEPENDS=	idn2:dns/libidn2
-STANDALONE_DESC=	Standalone mode requires SOCAT
-STANDALONE_RUN_DEPENDS=	socat>0:net/socat
 
-CURL_DESC=	Depend on cURL for HTTP(S) queries
-WGET_DESC=	Depend on Wget for HTTP(S) queries
+CURL_DESC=		Depend on cURL for HTTP(S) queries
+STANDALONE_DESC=	Standalone mode requires SOCAT
+WGET_DESC=		Depend on Wget for HTTP(S) queries
 
 NO_ARCH=	yes
 NO_BUILD=	yes
 
+BINDTOOLS_RUN_DEPENDS=	nsupdate:dns/bind-tools
 CURL_RUN_DEPENDS=	curl:ftp/curl
+IDN_RUN_DEPENDS=	idn2:dns/libidn2
+STANDALONE_RUN_DEPENDS=	socat>0:net/socat
 WGET_RUN_DEPENDS=	wget:ftp/wget
 
 PORTDOCS=	README.md
 
-SUB_FILES=	pkg-message
+SUB_FILES=	acme-crontab pkg-message
+
+post-patch-EXAMPLES-on:
+	${REINPLACE_CMD} -e 's|sed -i "|sed -i bak "|' ${WRKSRC}/dnsapi/dns_nsd.sh
 
 post-patch-IDN-on:
 	${REINPLACE_CMD} -e 's|^ *idn |      idn2 |'\
 		-e 's|_exists idn|_exists idn2|' ${WRKSRC}/acme.sh
 
-post-patch-EXAMPLES-on:
-	${REINPLACE_CMD} -e 's|sed -i "|sed -i bak "|' ${WRKSRC}/dnsapi/dns_nsd.sh
-
 do-install:
 	${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin/${PORTNAME}
-	${MKDIR} ${STAGEDIR}/var/db/acme/.acme.sh ${STAGEDIR}/var/db/acme/certs
+	${MKDIR} ${STAGEDIR}/var/db/acme/.acme.sh ${STAGEDIR}/var/db/acme/certs \
+	         ${STAGEDIR}${PREFIX}/etc/cron.d  ${STAGEDIR}${PREFIX}/etc/newsyslog.d
 	${INSTALL_DATA} ${FILESDIR}/account.conf.sample ${STAGEDIR}/var/db/acme/.acme.sh
+	${INSTALL_DATA} ${WRKDIR}/acme-crontab          ${STAGEDIR}${PREFIX}/etc/cron.d/acme.sh.sample
+	${INSTALL_DATA} ${FILESDIR}/acme-newsyslog      ${STAGEDIR}${PREFIX}/etc/newsyslog.d/acme.sh.sample
 
 do-install-DOCS-on:
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
@@ -59,7 +63,6 @@ do-install-EXAMPLES-on:
 	( cd ${WRKSRC} && ${COPYTREE_BIN} deploy ${STAGEDIR}${EXAMPLESDIR} )
 	( cd ${WRKSRC} && ${COPYTREE_BIN} dnsapi ${STAGEDIR}${EXAMPLESDIR} )
 	( cd ${WRKSRC} && ${COPYTREE_BIN} notify ${STAGEDIR}${EXAMPLESDIR} )
-	${INSTALL_DATA} ${FILESDIR}/acme.sh.conf ${STAGEDIR}${EXAMPLESDIR}
 	${RLN} ${STAGEDIR}/${EXAMPLESDIR}/deploy ${STAGEDIR}/var/db/acme/.acme.sh
 	${RLN} ${STAGEDIR}/${EXAMPLESDIR}/dnsapi ${STAGEDIR}/var/db/acme/.acme.sh
 	${RLN} ${STAGEDIR}/${EXAMPLESDIR}/notify ${STAGEDIR}/var/db/acme/.acme.sh
diff --git a/security/acme.sh/files/acme-crontab.in b/security/acme.sh/files/acme-crontab.in
new file mode 100644
index 000000000000..831e6c497cc3
--- /dev/null
+++ b/security/acme.sh/files/acme-crontab.in
@@ -0,0 +1,7 @@
+# use /bin/sh to run commands, overriding the default set by cron
+SHELL=/bin/sh
+
+# mail any output to here, no matter whose crontab this is
+MAILTO=me@example.org
+
+xx yy * * * %%PREFIX%%/sbin/acme.sh --cron --home /var/db/acme/.acme.sh  > /dev/null
diff --git a/security/acme.sh/files/acme.sh.conf b/security/acme.sh/files/acme-newsyslog
similarity index 100%
rename from security/acme.sh/files/acme.sh.conf
rename to security/acme.sh/files/acme-newsyslog
diff --git a/security/acme.sh/files/pkg-message.in b/security/acme.sh/files/pkg-message.in
index 6652629e6b01..d9ad093198f8 100644
--- a/security/acme.sh/files/pkg-message.in
+++ b/security/acme.sh/files/pkg-message.in
@@ -14,22 +14,17 @@ In the %%EXAMPLESDIR%% directory, you can find the dnsapi
 scripts which will be useful if you decide to use dns-01 challenges. Also 
 included are the deploy scripts.
 
-A newsyslog.conf sample file is provided at %%EXAMPLESDIR%%/acme.sh.conf
-and you could create a symlink from that to %%PREFIX%%/etc/newsyslog.conf.d/
+A newsyslog.conf sample file is installed at 
+%%PREFIX%%/etc/newsyslog.d/acme.sh - you must modify it by
+at least uncommenting the line.
 
-Your sample cronjob looks like this:
+If you run `newsyslog -NC` it will create the required logfiles.
 
-############################################################################
-$ sudo crontab -l -u acme
-# use /bin/sh to run commands, overriding the default set by cron
-SHELL=/bin/sh
-# mail any output to here, no matter whose crontab this is
-MAILTO=dan@example.org
+Please edit %%PREFIX%%/etc/cron.d/acme.sh changing:
 
-7 22 * * * /usr/local/sbin/acme.sh --cron --home /var/db/acme/.acme.sh > /dev/null
-############################################################################
-
-Change x & y to some minute and hour of the day.
+* MAILTO - your email address
+* xx to the minute you want the cronjob to run
+* yy to the hour you want the cronjob to run
 EOM
 }
 ]
diff --git a/security/acme.sh/pkg-plist b/security/acme.sh/pkg-plist
index 861a3a907e9f..bc87db4fe497 100644
--- a/security/acme.sh/pkg-plist
+++ b/security/acme.sh/pkg-plist
@@ -1,5 +1,6 @@
+@sample etc/cron.d/acme.sh.sample
+@sample etc/newsyslog.d/acme.sh.sample
 sbin/acme.sh
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/acme.sh.conf
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/deploy/README.md
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/deploy/apache.sh
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/deploy/cleverreach.sh



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202210112004.29BK4VcO062127>