Re: git: ddd0e820c8eb - main - Mk/bsd.ports.mk: Add suppport for WWW in Makefiles

From: Stefan_Eßer <se_at_freebsd.org>
Date: Fri, 09 Sep 2022 19:17:50 UTC
Am 09.09.22 um 20:01 schrieb Craig Leres:
> On 9/8/22 23:40, Antoine Brodin wrote:
>> Another regression,  now some ports fail because the manifest is not valid.
>> For 
>> instance:http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p3af3d0f1a1c9_s1494f4776a/logs/errors/linux_base-c7-7.9.2009.log
> 
> I'm seeing this as well since this change. I started a poudriere jail, built 
> the port and the poked around in the work directory and noticed that line 11, 
> column 55 of .metadir/+MANIFEST is a comma:
> 
>      name: "linux_base-c7"
>      version: "7.9.2009"
>      origin: emulators/linux_base-c7
>      comment: <<EOD
>      Base set of packages needed in Linux mode (Linux CentOS 7.9.2009)
>      EOD
>      maintainer: emulation@FreeBSD.org
>      prefix: /compat/linux
>      categories: [ emulators, linux, ]
>      licenselogic: single
>      www: http://mirror.centos.org/%SUBDIR%/:DEFAULT,aarch64,amd64,i386
>      deps: {
>      }
>      options: {
>       DOCS: off,
>       NLS: off,
>      }

This was a side effect of the decision to use the first element of MASTER_SITE
as a default value for WWW.

I have committed two changes (0d7e17c121bb, 1c4cfbf076f6) to fix this issue:

1) The www field in the manifest is now set to a string in double quotes to
    prevent commas in the URL from being treated as a field separator.

2) There is no longer a default value in case of no explicit WWW parameter.

> I noticed that the port makefile does not define WWW. When I add one the port 
> successfully packages.
> 
>          Craig
> 
> zinc 55 # pwd
> /usr/ports/emulators/linux_base-c7
> zinc 56 # git diff .
> diff --git a/emulators/linux_base-c7/Makefile b/emulators/linux_base-c7/Makefile
> index 142e4e9267..276453f1a1 100644
> --- a/emulators/linux_base-c7/Makefile
> +++ b/emulators/linux_base-c7/Makefile
> @@ -6,6 +6,7 @@ EXTRACT_ONLY= 
> ${DISTFILES:N*${SRC_SUFX}*:Nfilesystem-*:C/:[^:]+$//}
> 
>   MAINTAINER=    emulation@FreeBSD.org
>   COMMENT=       Base set of packages needed in Linux mode (Linux CentOS 
> ${LINUX_DIST_VER})
> +WWW=           http://127.0.0.1/
> 
>   USES=          linux:c7
>   USE_LINUX=     # empty

Yes, this issue did only affect ports that did not set WWW (i.e., which
did not have a WWW: line in the pkg-descr file before).

The double quotes around URLs are not required for any current WWW value,
since none contains a comma. But I think the quotes makes the code more r
robust, since a comma could be contained in a valid URL assigned to WWW.

Regards, STefan