>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 (pyt...@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 ---

_______________________________________________
freebsd-python@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-python
To unsubscribe, send any mail to "freebsd-python-unsubscr...@freebsd.org"

Reply via email to