py27-certbot has no man page 11.2-RELEASE-p9 FreeBSD 11.2-RELEASE-p9 #0: Tue Feb 5 15:30:36 UTC 2019 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
Try certbot-2.7 --help.
...and the manpage is the same as the helptext.
docs/Makefile contains a man: target that uses sphinx to convert docs/man* into man pages. While the contents is the same as the command line help, its desirable and preferable that ports install man pages if they are (or can be) provided.
Created attachment 201975 [details] svn-diff-manpage sphinx has warnings. man 7 certbot has a syntax error: free, so thereas no need to arrange payment. :<standard input>:562: `\&' is not allowed in a name grotty:<standard input> (<standard input>):11450: character above first line discarded grotty:<standard input> (<standard input>):11454: character above first line discarded grotty:<standard input> (<standard input>):11458: character above first line discarded grotty:<standard input> (<standard input>):11462: character above first line discarded grotty:<standard input> (<standard input>):11466: character above first line discarded How you use Certbot depends on the configuration of your web server. The best way to get started is to use our interactive guide. It gener-
Created attachment 201976 [details] svn-diff-manpage_v2 PORT_OPTIONS:MMAN was not right.
Created attachment 201978 [details] svn-diff-manpage_v3 Forgot FLAVOR for sphinx.
Created attachment 201984 [details] svn-diff-alternate Alternate patch fixes output cetbot.7.
Comment on attachment 201984 [details] svn-diff-alternate 1. MAN should be named MANPAGES as it usually is. 2. The new options and helpers are badly ordered [1]. 3. Remove .include <bsd.port.options.mk> again and use options helpers targets. 4. This should probably be post-build-MAN-on (or post-build-MANPAGES-on after fixing the option name): +pre-install: 5. gmake is not declared as a build dependency, so this will probably fail: + ${LOCALBASE}/bin/gmake -C ${WRKSRC}/docs man 6. Use the INSTALL_MAN macro to install files into STAGEDIR, not CP. [2] 7. What does this do and why does it require gsed? + ${SED_CMD} -i '1i\.if n .pl 2000v' ${STAGEDIR}${PREFIX}/man/man7/certbot.7 If the input for creating certbot.7 is already broken can it not be fixed instead? 8. Why is patch-docs_conf.py needed? [1] https://www.freebsd.org/doc/en/books/porters-handbook/porting-order.html [2] https://www.freebsd.org/doc/en/books/porters-handbook/install.html
(In reply to Tobias Kortkamp from comment #8) > 5. gmake is not declared as a build dependency, so this will probably fail: Ah, nevermind. I see now that there is MAN_USES=gmake. In which case + ${LOCALBASE}/bin/gmake -C ${WRKSRC}/docs man can be + ${DO_MAKE_BUILD} -C ${WRKSRC}/docs man to not ignore MAKE_{ARGS,ENV,FLAGS}, etc.
(In reply to Tobias Kortkamp from comment #8) >7. What does this do and why does it require gsed? It does not work with "standard" sed.
(In reply to Tobias Kortkamp from comment #8) Why is patch-docs_conf.py needed? Was a wrong idea, sphinx does not work with extension repoze.sphinx.autointerface. I obolete this patch, and use BUILD_DEPENDS= ....devel/py-repoze.sphinx.autointerface
Created attachment 201985 [details] svn-diff-manpage_v4
Created attachment 201986 [details] svn-diff-manpage_v5 Forgot to change MAN to MANPAGES.
Created attachment 201989 [details] svn-diff-manpage_v6 Change targets.
Created attachment 201990 [details] svn-diff-manpage_v7 Sent the wrong svn diff.
Created attachment 201992 [details] svn-diff-manpage_v8 Remove PLIST_FILES cause of duplicate file listing.
Created attachment 201997 [details] svn-dff-manpage_v9 Revert last change and accept duplicate listing (seems autoplist makes nonsense).
(In reply to Walter Schwarzenfeld from comment #17) Are the man pages correctly and completely handled by USE_PYTHON=concurrent to add version-specific suffixes? Can we also try to remove the gmake/gsed dependencies and invocations by executing the sphinx commands directly?
Comment on attachment 201997 [details] svn-dff-manpage_v9 I obsolete the patch, there are other problems.
Btw, I tried to install py27 and py37: Installing py27-certbot-1.1.0,1... pkg-static: py27-certbot-1.1.0,1 conflicts with py37-certbot-1.1.0,1 (installs files into the same place). Problematic file: /usr/local/etc/periodic/weekly/500.certbot *** Error code 70
(In reply to Kubilay Kocak from comment #18) > Can we also try to remove the gmake/gsed dependencies: Not for gsed - certbot.7 is malformatted, does not handled by "normal" sed.
(In reply to Walter Schwarzenfeld from comment #20) Sorry, install of two different versions of py-certbot is nonsense.
(In reply to Walter Schwarzenfeld from comment #21) for gmake: No, cause: make[2]: "/ram/usr/home/ngorx/work/py-certbot/work-py37/certbot-1.1.0/docs/Makefile" line 11: Missing dependency operator make[2]: Unknown modifier '/' make[2]: "/ram/usr/home/ngorx/work/py-certbot/work-py37/certbot-1.1.0/docs/Makefile" line 12: Need an operator make[2]: "/ram/usr/home/ngorx/work/py-certbot/work-py37/certbot-1.1.0/docs/Makefile" line 13: Need an operator
Created attachment 211138 [details] svn-diff-py-certbot_new Last version. If its not right, I am give it up here.
(In reply to Kubilay Kocak from comment #18) > Are the man pages correctly and completely handled by USE_PYTHON=concurrent to add version-specific > suffixes? Move: share/man/man1/certbot.1 --> share/man/man1/certbot-3.7.1 Link: @share/man/man1/certbot.1 --> share/man/man1/certbot-3.7.1 Move: share/man/man7/certbot.7 --> share/man/man7/certbot-3.7.7 Link: @share/man/man7/certbot.7 --> share/man/man7/certbot-3.7.7
Created attachment 211147 [details] svn-diff-py-certbot_new2
Created attachment 211148 [details] svn-diff-py-certbot_new2
(In reply to Walter Schwarzenfeld from comment #22) All files installed by a port that installs files in shared (non Python version specific) locations, must be made unique ("concurrent safe") Could you please process the periodic script to include that concurrent treatment by using uniquefiles functionality [1]. You should just be able to add the file to UNIQUE_SUFFIX_FILES which are already set by ports using USE_PYTHON=concurrent (which uses uniquefiles.mk functionality) [1] https://www.freebsd.org/doc/en/books/porters-handbook/book.html#uses-uniquefiles
Is this what you mean? u post-install: ... ... ${MV} ${STAGEDIR}${PREFIX}/etc/periodic/weekly/500.certbot ${STAGEDIR}${PREFIX}/etc/periodic/weekly/500.certbot-${PYTHON_VER}
${PYTHON_SUFFIX} instead of ${PYTHON_VER}.
(In reply to Walter Schwarzenfeld from comment #29) Yes, but adding (+=) the file to the existing UNIQUE_SUFFIX_FILES list will handle it automatically
Created attachment 211161 [details] svn-diff-py-certbot_new3
Created attachment 211164 [details] svn-diff-py-certbot_new4 ...cause of portlint.
Created attachment 211168 [details] svn-diff-without-gsed Found a way without gsed.
Created attachment 211169 [details] svn-diff-without-gsed_v2 Correct the commands mv and cat.
Created attachment 215827 [details] py-certbot-man-concurrency.patch Hi. I changed the UNIQUE_SUFFIX_FILES approach, it will end having two scripts in the periodic, 500.certbot -> 500.certbot-3.7 (symlink) 500.certbot-3.7 Enable concurrency on script 500.certbot. We can also avoid gmake and build the manpage directly. Walter@ I didn't see a syntax error in the manpages anymore, maybe it was fixed after the last certbot updates. Anyway, could you check this patch?
A commit references this bug: Author: dbaio Date: Sat Jun 27 20:57:40 UTC 2020 New revision: 540635 URL: https://svnweb.freebsd.org/changeset/ports/540635 Log: security/py-certbot: Add man pages, Fix Concurrency PR: 235701 Submitted by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at> Reported by: freebsd@dreamchaser.org Approved by: python (with hat) Changes: head/security/py-certbot/Makefile head/security/py-certbot/files/500.certbot.in
Committed, thank you all and sorry about the delay.