[Bug 222870] bsd.port.mk: COPYTREE_* do not work with POSIX-compliant sh -c
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Oct 8 19:44:54 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222870
Bug ID: 222870
Summary: bsd.port.mk: COPYTREE_* do not work with
POSIX-compliant sh -c
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: Ports Framework
Assignee: portmgr at FreeBSD.org
Reporter: jilles at FreeBSD.org
CC: freebsd-ports-bugs at FreeBSD.org
Blocks: 220587
Created attachment 187011
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=187011&action=edit
allow both current and POSIX-compliant sh -c
The COPYTREE_BIN and COPYTREE_SHARE macros use constructs like
sh -c 'command' -- arg0 arg1
and assume that $0 will expand to arg0 and $1 will expand to arg1.
Our current sh implements it that way. However, POSIX specifies that $0 will
expand to -- and $1 will expand to arg0, since the command string is an operand
and not an option-argument. Bug #220587 requests making sh POSIX-compliant in
this regard.
If the argument after the command string does not start with '-', the current
sh behaves as required by POSIX. Therefore, the macros should be adjusted so
this is always the case.
Tested with poudriere, stable/10 with patched head sh, port
textproc/docbook-sgml.
Referenced Bugs:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220587
[Bug 220587] /bin/sh Incorrect options handling
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-ports-bugs
mailing list