From owner-svn-ports-head@freebsd.org Mon Apr 10 14:19:26 2017 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA1ECD36B58; Mon, 10 Apr 2017 14:19:26 +0000 (UTC) (envelope-from amdmi3@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (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 A6EE997D; Mon, 10 Apr 2017 14:19:26 +0000 (UTC) (envelope-from amdmi3@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3AEJPuX067786; Mon, 10 Apr 2017 14:19:25 GMT (envelope-from amdmi3@FreeBSD.org) Received: (from amdmi3@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3AEJPZu067785; Mon, 10 Apr 2017 14:19:25 GMT (envelope-from amdmi3@FreeBSD.org) Message-Id: <201704101419.v3AEJPZu067785@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: amdmi3 set sender to amdmi3@FreeBSD.org using -f From: Dmitry Marakasov Date: Mon, 10 Apr 2017 14:19:25 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r438168 - head/Mk/Scripts X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Apr 2017 14:19:27 -0000 Author: amdmi3 Date: Mon Apr 10 14:19:25 2017 New Revision: 438168 URL: https://svnweb.freebsd.org/changeset/ports/438168 Log: Don't limit Q/A check for bad shebangs with just bin, sbin, libexec and www. Scripts (with possibly incorrect shebangs) may be located anywhere in ${PREFIX}, including, for instance, lib/ (multimedia/lives): Error: '/usr/bin/perl' is an invalid shebang you need USES=shebangfix for 'lib/lives/plugins/effects/rendered/colour_replace' and ${DATADIR}/ (databases/cego): Error: '/bin/bash' is an invalid shebang you need USES=shebangfix for 'share/cego/cgbackup' There may be some more false positives, but broken scripts are much more severe problem. There's also whitelist mechanism which lets you ignore shebangs for certain kinds of files (like .pm) which may be extended to fix FPs Approved by: portmgr (swills) Differential Revision: D8923 Modified: head/Mk/Scripts/qa.sh Modified: head/Mk/Scripts/qa.sh ============================================================================== --- head/Mk/Scripts/qa.sh Mon Apr 10 13:48:12 2017 (r438167) +++ head/Mk/Scripts/qa.sh Mon Apr 10 14:19:25 2017 (r438168) @@ -83,8 +83,7 @@ shebang() { shebangonefile "${f}" || rc=1 # Use heredoc to avoid losing rc from find|while subshell done <<-EOF - $(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \ - ${STAGEDIR}${PREFIX}/libexec ${STAGEDIR}${PREFIX}/www \ + $(find ${STAGEDIR}${PREFIX} \ -type f -perm +111 2>/dev/null) EOF @@ -104,8 +103,7 @@ shebang() { fi # Use heredoc to avoid losing rc from find|while subshell done <<-EOF - $(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \ - ${STAGEDIR}${PREFIX}/libexec ${STAGEDIR}${PREFIX}/www \ + $(find ${STAGEDIR}${PREFIX} \ -type l -exec stat -f "%N${LF}%Y" {} + 2>/dev/null) EOF