Re: git: ddd0e820c8eb - main - Mk/bsd.ports.mk: Add suppport for WWW in Makefiles
- In reply to: Antoine Brodin : "Re: git: ddd0e820c8eb - main - Mk/bsd.ports.mk: Add suppport for WWW in Makefiles"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 08 Sep 2022 14:03:00 UTC
Am 08.09.22 um 14:05 schrieb Antoine Brodin:
> On Wed, Sep 7, 2022 at 7:41 PM Stefan Eßer <se@freebsd.org> wrote:
>>
>> The branch main has been updated by se:
>>
>> URL: https://cgit.FreeBSD.org/ports/commit/?id=ddd0e820c8eb73acef94c72434c382982d0fa329
>>
>> commit ddd0e820c8eb73acef94c72434c382982d0fa329
>> Author: Stefan Eßer <se@FreeBSD.org>
>> AuthorDate: 2022-09-07 19:32:54 +0000
>> Commit: Stefan Eßer <se@FreeBSD.org>
>> CommitDate: 2022-09-07 19:32:54 +0000
>>
>> Mk/bsd.ports.mk: Add suppport for WWW in Makefiles
>>
>> Expect the project website or other relevant URL of a port to be
>> specified in a WWW macro in its Makefile.
>>
>> This information used to be available in WWW: lines at the end of
>> each port's pkg-descr file. By moving it into the Makefile, this
>> value is easier to access, verify, and maintain.
>>
>> A WWW: line is added to the "desc" element of package manifests
>> based on the WWW macro value by the create-manifest.sh script.
>> This restores the previous contents of this line in the manifest
>> (as e.g. expected by the Freshports website).
>>
>> The ports-mgmt/portlint port has been updated in commit 9800743f0
>> (version 2.19.13) to support the planned introduction of WWW in
>> port Makefiles.
>>
>> Approved by: portmgr (tcberner)
>> Differential Revision: https://reviews.freebsd.org/D36434
>> ---
>> Mk/Scripts/create-manifest.sh | 4 ++++
>> Mk/bsd.port.mk | 43 +++++++++++++++----------------------------
>> 2 files changed, 19 insertions(+), 28 deletions(-)
> ...
>> - @(${ECHO_CMD} -n "${PKGNAME}|${.CURDIR}|${PREFIX}|"; \
>> - ${ECHO_CMD} -n ${COMMENT:Q}; \
>> - ${ECHO_CMD} -n "|${_DESCR}|${MAINTAINER}|${CATEGORIES}|${_EXTRACT_DEPENDS}|${_PATCH_DEPENDS}|${_FETCH_DEPENDS}|${_BUILD_DEPENDS:O:u}|${_RUN_DEPENDS:O:u}|"; \
>> - while read one two discard; do \
>> - case "$$one" in \
>> - WWW:) case "$$two" in \
>> - https://*|http://*|ftp://*) ${ECHO_CMD} -n "$$two" ;; \
>> - *) ${ECHO_CMD} -n "http://$$two" ;; \
>> - esac; \
>> - break; \
>> - ;; \
>> - esac; \
>> - done < ${DESCR}; ${ECHO_CMD}) >>${INDEX_OUT}
>> + @(${ECHO_CMD} "${PKGNAME}|${.CURDIR}|${PREFIX}|${COMMENT:Q}|${_DESCR}|${MAINTAINER}|${CATEGORIES}|${_EXTRACT_DEPENDS}|${_PATCH_DEPENDS}|${_FETCH_DEPENDS}|${_BUILD_DEPENDS:O:u}|${_RUN_DEPENDS:O:u}|${_WWW}" >> ${INDEX_OUT})
>
> Hi,
>
> The regression is here, ${ECHO_CMD} -n ${COMMENT:Q}; is not the same
> as ${ECHO_CMD} "...${COMMENT:Q}.."
> You can see in INDEX that there are now a lot of backslashes to escape
> spaces, they weren't here before.
A, sorry, that's a bad effect that I had not seen during testing.
I'm just testing a patch that restores the old behavior:
${ECHO_CMD} "...|${COMMENT:Q}|..." --> ${ECHO_CMD} "...|"${COMMENT:Q}"|..."
By ending the quoted string before and restarting it after ${COMMENT:Q}
the issue should be fixed.
Thank you for pointing out this subtile bug!
Best regards, STefan