Date: Sun, 27 Mar 2011 06:16:49 -0700 (PDT) From: Julien Laffaye <kimelto@gmail.com> To: FreeBSD-gnats-submit@freebsd.org Cc: python@FreeBSD.org Subject: [PATCH] lang/python: speed up upgrade-site-packages Message-ID: <4d8f38c1.581ce30a.1df5.63c3@mx.google.com>
next in thread | raw e-mail | index | archive | help
>Submitter-Id: current-users >Originator: Julien Laffaye >Organization: >Confidential: no >Synopsis: [PATCH] lang/python: speed up upgrade-site-packages >Severity: non-critical >Priority: low >Category: ports >Class: change-request >Release: FreeBSD 8.2-RELEASE amd64 >Environment: System: FreeBSD chulak.lan 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011 >Description: Instead of asking each file in lib/python which package it comes from, ask each package if it has a file in lib/python. This speed things up significantly on my system. Port maintainer (python@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.99 >How-To-Repeat: >Fix: --- python-2.7,2.patch begins here --- diff -ruN --exclude=CVS /usr/ports/lang/python.orig/Makefile /usr/ports/lang/python/Makefile --- /usr/ports/lang/python.orig/Makefile 2011-03-26 13:17:41.000000000 +0000 +++ /usr/ports/lang/python/Makefile 2011-03-27 14:09:30.000000000 +0100 @@ -25,15 +25,9 @@ # Major upgrade support PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portupgrade -PKG_WHICH_CMD= ${LOCALBASE}/sbin/pkg_which -XARGS_CMD= ${XARGS} -0 .if defined(USE_PORTMASTER) PORTUPGRADE_CMD= ${LOCALBASE}/sbin/portmaster -PORTUPGRADE_ARGS?= "" -PKG_WHICH_CMD= /usr/sbin/pkg_info -qW -JOBS= ${SYSCTL} -n kern.smp.cpus -XARGS_CMD= ${XARGS} -L 1 -0 -P $$(${JOBS}) .endif upgrade-site-packages: @@ -42,22 +36,21 @@ ${FALSE}; \ fi - @for ver in `echo ${_PYTHON_ALLBRANCHES}|${SED} 's/${PYTHON_VER}//'`; do \ - if [ -d ${PREFIX}/lib/python$$ver ]; then \ - UPD=`${FIND} ${PREFIX}/lib/python$$ver \ - -type f -print0 | \ - ${XARGS_CMD} ${PKG_WHICH_CMD} | \ - ${GREP} -Fv '?' | \ - ${EGREP} -v '^python2?[0-5]?-2' | \ - ${SORT} -u`; \ - if [ "$$UPD" ]; then \ - if [ -n ${PORTUPGRADE_ARGS} ]; then \ - ${PORTUPGRADE_CMD} ${PORTUPGRADE_ARGS} -f $$UPD; \ - else \ - ${PORTUPGRADE_CMD} -f $$UPD; \ - fi; \ - fi; \ + @GREP_ARGS="-q"; \ + for ver in `echo ${_PYTHON_ALLBRANCHES}|${SED} 's/${PYTHON_VER}//'`; do \ + GREP_ARGS="$${GREP_ARGS} -e lib/python$$ver"; \ + done; \ + UPD=""; \ + for pkg in `${PKG_INFO} -Ea`; do \ + ${PKG_INFO} -L $${pkg} | ${GREP} $${GREP_ARGS} && \ + UPD="$${UPD} $${pkg}"; \ + done; \ + if [ "$${UPD}" ]; then \ + if [ -n ${PORTUPGRADE_ARGS} ]; then \ + ${PORTUPGRADE_CMD} ${PORTUPGRADE_ARGS} -f $${UPD}; \ + else \ + ${PORTUPGRADE_CMD} -f $${UPD}; \ fi; \ - done \ + fi; \ .include <bsd.port.mk> --- python-2.7,2.patch ends here ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4d8f38c1.581ce30a.1df5.63c3>