From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Apr 19 19:34:06 2015 Return-Path: Delivered-To: freebsd-ports-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9405C2C6 for ; Sun, 19 Apr 2015 19:34:06 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6687D334 for ; Sun, 19 Apr 2015 19:34:06 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t3JJY6nB051440 for ; Sun, 19 Apr 2015 19:34:06 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 199550] Mk/bsd.port.mk: COPYTREE_* escaping glob/shell patterns Date: Sun, 19 Apr 2015 19:34:06 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Ports Framework X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jbeich@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: portmgr@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter cc attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Apr 2015 19:34:06 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199550 Bug ID: 199550 Summary: Mk/bsd.port.mk: COPYTREE_* escaping glob/shell patterns Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Ports Framework Assignee: portmgr@FreeBSD.org Reporter: jbeich@FreeBSD.org CC: freebsd-ports-bugs@FreeBSD.org Created attachment 155744 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=155744&action=edit v0 Trying to optimize find(1) primaries in attachment 149511 I've noticed the 3rd argument is always expanded. This makes it harder to exclude files based on regex or shell globs. One could try to escape meta characters with \ (backslash) but it doesn't work because \ isn't stripped in the output. post-install: (cd ${WRKSRC}/manual && ${COPYTREE_SHARE} \ . ${STAGEDIR}${DOCSDIR} "! -name Makefile\*") Here's the illustration: $ sh -c 'cd /var/empty; echo $0' -- "*" * $ sh -c 'cd /bin; echo $0' -- "*" [ cat chflags ... $ sh -c 'cd /bin; echo $0' -- "\*" \* $ sh -c 'cd /bin; echo $0' -- "\\*" \* $ sh -c 'cd /bin; echo $0' -- "'*'" '*' One way to strip quoting is via `eval' builtin: $ sh -c 'cd /bin; eval echo $0' -- "\*" * $ sh -c 'cd /bin; eval echo $0' -- "'*'" * -- You are receiving this mail because: You are on the CC list for the bug.