ports/77820: bsd.port.mk 1.508 and PORTDOCS globbing broken

Sam Lawrance boris at brooknet.com.au
Mon Feb 21 02:00:39 UTC 2005


>Number:         77820
>Category:       ports
>Synopsis:       bsd.port.mk 1.508 and PORTDOCS globbing broken
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 21 02:00:37 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Sam Lawrance
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD dirk.no.domain 5.3-STABLE FreeBSD 5.3-STABLE #3: Wed Feb 9 00:12:24 EST 2005 sam at dirk.no.domain:/usr/testbuild/src5/sys/i386/compile/GENERIC i386

>Description:

The changes to bsd.port.mk 1.508 don't work as expected with globbing.
PORTDOCS is supposed to allow shell glob patterns. Here's the offending
code, now on line 4796:

+.for x in ${PORTDOCS}
+       @if [ ! -e ${DOCSDIR}/${x} ]; then \
+               @${ECHO_CMD} ${DOCSDIR}/${x} | \
+                       ${SED} -e 's,^${PREFIX}/,,' >> ${TMPPLIST}; \
+       fi
+.endfor

The glob is expanded by the shell, so [ gets too many arguments, leading
to errors like this one:

[: /usr/local/share/doc/pyumlgraph/PyUMLGraph.css: unexpected operator

>How-To-Repeat:
Install a port with a glob in PORTDOCS and watch carefully.

>Fix:
Perhaps the for-loop needs to be pushed out to the shell?
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list