Re: git: ddd0e820c8eb - main - Mk/bsd.ports.mk: Add suppport for WWW in Makefiles
Date: Sat, 10 Sep 2022 17:44:30 UTC
On 9/9/22 12:17, Stefan Eßer wrote: > 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. Thanks for the fix! Something related I just noticed: portlint needs to be taught about WWW. Craig zinc 34 # portlint -a FATAL: Makefile: extra item "WWW" placed in the MAINTAINER section. 1 fatal error and 0 warnings found.