From owner-svn-ports-all@FreeBSD.ORG Mon Sep 23 22:09:22 2013 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 23EBB847; Mon, 23 Sep 2013 22:09:22 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EBFD12D7F; Mon, 23 Sep 2013 22:09:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8NM9Lr6002736; Mon, 23 Sep 2013 22:09:21 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8NM9LRL002735; Mon, 23 Sep 2013 22:09:21 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201309232209.r8NM9LRL002735@svn.freebsd.org> From: Baptiste Daroussin Date: Mon, 23 Sep 2013 22:09:21 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r328073 - head/Mk X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Sep 2013 22:09:22 -0000 Author: bapt Date: Mon Sep 23 22:09:21 2013 New Revision: 328073 URL: http://svnweb.freebsd.org/changeset/ports/328073 Log: New target make check-orphans to help discovering the files in staged not present in plist Reviewed by: bdrewery Modified: head/Mk/bsd.stage.mk Modified: head/Mk/bsd.stage.mk ============================================================================== --- head/Mk/bsd.stage.mk Mon Sep 23 22:06:34 2013 (r328072) +++ head/Mk/bsd.stage.mk Mon Sep 23 22:09:21 2013 (r328073) @@ -98,3 +98,56 @@ makeplist: stage -e "s,${DATADIR},%%DATADIR%%,g" \ -e "s,${PREFIX}/,,g" | ${GREP} -v "^@dirrmtry share/licenses" || ${TRUE} .endif + +.if !target(check-orphans) +check-orphans: stage + @while read line; do \ + cwd=${PREFIX} ; \ + case $$line in \ + @dirrm*) \ + set -- $$line ; \ + case $$2 in \ + /*) ${ECHO_CMD} "dir $$2" ;; \ + *) ${ECHO_CMD} "dir $$cwd/$$2" ;; \ + esac ; \ + ;; \ + @cwd) cwd=${PREFIX} ;; \ + @cwd*) set -- $$line ; \ + cwd=$$2 ;; \ + @*) ;; \ + /*) ${ECHO_CMD} $$line ;; \ + *) ${ECHO_CMD} $$cwd/$$line ;; \ + esac ; \ + done < ${TMPPLIST} > ${WRKDIR}/.expanded-plist + @{ ${ECHO_CMD} "#mtree"; ${CAT} ${MTREE_FILE}; } | ${TAR} tf - | \ + awk '{ sub(/^\.$$/, "", $$1); \ + if ($$1 == "") print "${PREFIX}"; else print "${PREFIX}/"$$1; }' \ + > ${WRKDIR}/.mtree + @a=${PREFIX}; \ + while :; do \ + a=$${a%/*} ; \ + [ -z "$${a}" ] && break ; \ + ${ECHO_CMD} $${a} >> ${WRKDIR}/.mtree ; \ + done + @${FIND} ${STAGEDIR} -type f -o -type l | ${SORT} | ${SED} -e "s,${STAGEDIR},,g" \ + | while read line; do \ + ${GREP} -qw "^$${line}$$" ${WRKDIR}/.expanded-plist || { \ + [ -n "$${line}" ] && ${ECHO_CMD} "$${line}" ; \ + } ; \ + done | ${SED} \ + -e "s,${DOCSDIR},%%PORTDOCS%%%%DOCSDIR%%,g" \ + -e "s,${EXAMPLESDIR},%%PORTEXAMPLES%%%%EXAMPLESDIR%%,g" \ + -e "s,${DATADIR},%%DATADIR%%,g" \ + -e "s,${PREFIX}/,,g" | ${GREP} -v "^share/licenses" || ${TRUE} + @${FIND} ${STAGEDIR} -type d | ${SED} -e "s,${STAGEDIR},,g" \ + | while read line; do \ + ${GREP} -qw "^$${line}$$" ${WRKDIR}/.mtree || \ + ${GREP} -qw "dir\ $${line}$$" ${WRKDIR}/.expanded-plist || { \ + [ -n "$${line}" ] && ${ECHO_CMD} "@dirrmtry $${line}"; \ + } ; \ + done | ${SORT} -r | ${SED} \ + -e "s,\(.*\)${DOCSDIR},%%PORTDOCS%%\1%%DOCSDIR%%,g" \ + -e "s,\(.*\)${EXAMPLESDIR},%%PORTEXAMPLES%%\1%%EXAMPLESDIR%%,g" \ + -e "s,${DATADIR},%%DATADIR%%,g" \ + -e "s,${PREFIX}/,,g" | ${GREP} -v "^@dirrmtry share/licenses" || ${TRUE} +.endif