From owner-svn-ports-all@FreeBSD.ORG Fri Jun 20 21:03:03 2014 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 ESMTPS id 60024F1D; Fri, 20 Jun 2014 21:03:03 +0000 (UTC) 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)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4CC332AFE; Fri, 20 Jun 2014 21:03:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s5KL33gK029258; Fri, 20 Jun 2014 21:03:03 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s5KL320l029251; Fri, 20 Jun 2014 21:03:02 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201406202103.s5KL320l029251@svn.freebsd.org> From: Antoine Brodin Date: Fri, 20 Jun 2014 21:03:02 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r358636 - in head: Keywords 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.18 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: Fri, 20 Jun 2014 21:03:03 -0000 Author: antoine Date: Fri Jun 20 21:03:02 2014 New Revision: 358636 URL: http://svnweb.freebsd.org/changeset/ports/358636 QAT: https://qat.redports.org/buildarchive/r358636/ Log: Make @dirrmtry handling in pkg_install closer to what pkg does Original patch: bapt Phabric: D215 Exp-run: self, less orphans/leftovers with pkg_install with patch than without and no new failures with pkg With hat: portmgr Modified: head/Keywords/pkg_install.awk head/Mk/bsd.port.mk head/Mk/bsd.python.mk Modified: head/Keywords/pkg_install.awk ============================================================================== --- head/Keywords/pkg_install.awk Fri Jun 20 20:54:40 2014 (r358635) +++ head/Keywords/pkg_install.awk Fri Jun 20 21:03:02 2014 (r358636) @@ -84,6 +84,18 @@ $1 == "@fontsdir" { next } +$1 == "@dirrmtry" { + directory=substr($0, 11, length($0) - 10) + print "@comment begin " $0 + if ($2 ~ /^\//) { + print "@unexec rmdir \"" directory "\" 2>/dev/null || true" + } else { + print "@unexec rmdir \"%D/" directory "\" 2>/dev/null || true" + } + print "@comment end " $0 + next +} + # Print everything else as-is { print $0 Modified: head/Mk/bsd.port.mk ============================================================================== --- head/Mk/bsd.port.mk Fri Jun 20 20:54:40 2014 (r358635) +++ head/Mk/bsd.port.mk Fri Jun 20 21:03:02 2014 (r358636) @@ -1586,8 +1586,7 @@ SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${ PLIST_SUB_SED_MIN?= 2 PLIST_SUB_SED?= ${PLIST_SUB:C/.*=.{1,${PLIST_SUB_SED_MIN}}$//g:NEXTRACT_SUFX=*:NOSREL=*:NLIB32DIR=*:NPREFIX=*:NLOCALBASE=*:N*="":N*="@comment*:C/([^=]*)="?([^"]*)"?/s!\2!%%\1%%!g;/g:C/\./\\./g} -PLIST_REINPLACE+= dirrmtry stopdaemon rmtry -PLIST_REINPLACE_DIRRMTRY=s!^@dirrmtry \(.*\)!@unexec rmdir "%D/\1" 2>/dev/null || true! +PLIST_REINPLACE+= stopdaemon rmtry PLIST_REINPLACE_RMTRY=s!^@rmtry \(.*\)!@unexec rm -f %D/\1 2>/dev/null || true! PLIST_REINPLACE_STOPDAEMON=s!^@stopdaemon \(.*\)!@unexec %D/etc/rc.d/\1 forcestop 2>/dev/null || true! @@ -5742,7 +5741,7 @@ add-plist-info: .if (${PREFIX} != "/usr") @${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST} .if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${LINUXBASE}) - @${ECHO_CMD} "@unexec rmdir %D/${INFO_PATH} 2>/dev/null || true" >> ${TMPPLIST} + @${ECHO_CMD} "@dirrmtry ${INFO_PATH}" >> ${TMPPLIST} .endif .endif .endif Modified: head/Mk/bsd.python.mk ============================================================================== --- head/Mk/bsd.python.mk Fri Jun 20 20:54:40 2014 (r358635) +++ head/Mk/bsd.python.mk Fri Jun 20 21:03:02 2014 (r358636) @@ -580,7 +580,7 @@ add-plist-egginfo: ${LS} ${PYDISTUTILS_EGGINFODIR}/${egginfo} | while read f; do \ ${ECHO_CMD} ${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}/$${f} >> ${TMPPLIST}; \ done; \ - ${ECHO_CMD} "@unexec rmdir \"%D/${PYDISTUTILS_EGGINFODIR:S;${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}\" 2>/dev/null || true" >> ${TMPPLIST}; \ + ${ECHO_CMD} "@dirrmtry ${PYDISTUTILS_EGGINFODIR:S;${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}" >> ${TMPPLIST}; \ fi; . endfor .else @@ -613,11 +613,13 @@ add-plist-pymod: while read line; do \ ${GREP} -qw "^$${line}$$" ${WRKDIR}/.localmtree || { \ [ -n "$${line}" ] && \ - ${ECHO_CMD} "@unexec rmdir \"%D/$${line}\" 2>/dev/null || true"; \ + ${ECHO_CMD} "@dirrmtry $${line}"; \ }; \ done | ${SORT} | uniq | ${SORT} -r >> ${TMPPLIST} - @${ECHO_CMD} "@unexec rmdir \"%D/${PYTHON_SITELIBDIR:S;${PYTHONBASE}/;;}\" 2>/dev/null || true" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec rmdir \"%D/${PYTHON_LIBDIR:S;${PYTHONBASE}/;;}\" 2>/dev/null || true" >> ${TMPPLIST} +.if ${PREFIX} != ${LOCALBASE} + @${ECHO_CMD} "@dirrmtry ${PYTHON_SITELIBDIR:S;${PYTHONBASE}/;;}" >> ${TMPPLIST} + @${ECHO_CMD} "@dirrmtry ${PYTHON_LIBDIR:S;${PYTHONBASE}/;;}" >> ${TMPPLIST} +.endif .else .if ${PYTHON_REL} >= 320 && defined(PYTHON_PY3K_PLIST_HACK)