Date: Sat, 22 May 2010 17:38:23 +0400 (MSD) From: Yuri Pankov <yuri.pankov@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/146829: [PATCH]: bsd.port.mk: change "missing" target to run pkg_info only once Message-ID: <201005221338.o4MDcN2X081948@darklight.org.ru> Resent-Message-ID: <201005221340.o4MDe4sL009936@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 146829 >Category: ports >Synopsis: [PATCH]: bsd.port.mk: change "missing" target to run pkg_info only once >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat May 22 13:40:03 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Yuri Pankov >Release: FreeBSD 9.0-CURRENT amd64 >Organization: >Environment: System: FreeBSD darklight.org.ru 9.0-CURRENT FreeBSD 9.0-CURRENT #2 r208414M: Sat May 22 13:53:45 MSD 2010 >Description: Change "missing" target to run pkg_info only once and cache the result. Running `pkg_info -O <origin>` for every dependency can be very time and I/O consuming when we have a large number of installed ports. >How-To-Repeat: >Fix: --- bpm.diff begins here --- Index: ports/Mk/bsd.port.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v retrieving revision 1.638 diff -u -r1.638 bsd.port.mk --- ports/Mk/bsd.port.mk 12 May 2010 19:57:57 -0000 1.638 +++ ports/Mk/bsd.port.mk 22 May 2010 13:16:32 -0000 @@ -5524,11 +5524,11 @@ # Show missing dependiencies missing: - @for dir in $$(${ALL-DEPENDS-LIST}); do \ - THISORIGIN=$${dir##${PORTSDIR}/}; \ - installed=$$(${PKG_INFO} -qO $${THISORIGIN}); \ - if [ -z "$$installed" ]; then \ - ${ECHO_CMD} $$THISORIGIN; \ + @_origins=$$(${PKG_INFO} -aoq); \ + for dir in $$(${ALL-DEPENDS-LIST}); do \ + _origin=$${dir##${PORTSDIR}/}; \ + if ! $$(${ECHO_CMD} $${_origins} | ${GREP} -q $${_origin}); then \ + ${ECHO_CMD} $${_origin}; \ fi; \ done --- bpm.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005221338.o4MDcN2X081948>