From owner-svn-ports-head@freebsd.org Fri Jun 8 09:26:39 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACBF31015BDF; Fri, 8 Jun 2018 09:26:39 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1EA6C7ABCF; Fri, 8 Jun 2018 09:26:39 +0000 (UTC) (envelope-from mat@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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 009B253B7; Fri, 8 Jun 2018 09:26:39 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w589Qc89044669; Fri, 8 Jun 2018 09:26:38 GMT (envelope-from mat@FreeBSD.org) Received: (from mat@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w589QcKN044668; Fri, 8 Jun 2018 09:26:38 GMT (envelope-from mat@FreeBSD.org) Message-Id: <201806080926.w589QcKN044668@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mat set sender to mat@FreeBSD.org using -f From: Mathieu Arnold Date: Fri, 8 Jun 2018 09:26:38 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r471993 - head/Mk/Scripts X-SVN-Group: ports-head X-SVN-Commit-Author: mat X-SVN-Commit-Paths: head/Mk/Scripts X-SVN-Commit-Revision: 471993 X-SVN-Commit-Repository: ports 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.26 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: Fri, 08 Jun 2018 09:26:39 -0000 Author: mat Date: Fri Jun 8 09:26:38 2018 New Revision: 471993 URL: https://svnweb.freebsd.org/changeset/ports/471993 Log: SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options. Since files and arguments are strings passed the same way, programs can't properly determine which is which, and rely on dashes to determine what's what. A file named -f (touch -- -f) will not be deleted by the problematic code. It will instead be interpreted as a command line option, and rm will even report success. Using ./* will instead cause the glob to be expanded into ./-f, which no program will treat as an option. It is not possible to use `-f *` because -f only forces the next argument to be a directory, a later directory named -delete would mess things up. PR: 227109 Submitted by: mat Sponsored by: Absolight Modified: head/Mk/Scripts/smart_makepatch.sh (contents, props changed) Modified: head/Mk/Scripts/smart_makepatch.sh ============================================================================== --- head/Mk/Scripts/smart_makepatch.sh Fri Jun 8 09:26:34 2018 (r471992) +++ head/Mk/Scripts/smart_makepatch.sh Fri Jun 8 09:26:38 2018 (r471993) @@ -69,8 +69,8 @@ std_patch_filename() { patchdir_files_list() { if [ -d "${PATCHDIR}" ]; then (cd ${PATCHDIR} && \ - find * -type f -name "patch-*" -maxdepth 0 \ - 2>/dev/null | sed -e '/\.orig$/d' + find ./* -type f -name "patch-*" -maxdepth 0 \ + 2>/dev/null | sed -e 's,^\./,,; /\.orig$/d' ) fi; } @@ -186,7 +186,7 @@ regenerate_patches() { local ORIG local new_list new_list=$(cd "${PATCH_WRKSRC}" && \ - find -s * -type f -name '*.orig' 2>/dev/null) + find -s ./* -type f -name '*.orig' 2>/dev/null) (cd "${PATCH_WRKSRC}" && for F in ${new_list}; do ORIG=${F#./} NEW=${ORIG%.orig} @@ -216,8 +216,9 @@ stage_patches() { local P local name local patch_list - patch_list=$(cd ${REGENNED} && find * -name "patch-*" 2>/dev/null) + patch_list=$(cd ${REGENNED} && find ./* -name "patch-*" 2>/dev/null) for P in ${patch_list}; do + P=${P#./} name=$(get_patch_name ${P}) [ -e ${COMMENTS}/${P} ] && cat ${COMMENTS}/${P} \ >> ${DESTDIR}/${name}