From owner-freebsd-python@FreeBSD.ORG Sun Mar 27 13:46:12 2011 Return-Path: Delivered-To: python@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63719106566C for ; Sun, 27 Mar 2011 13:46:12 +0000 (UTC) (envelope-from kimelto@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id EE98D8FC13 for ; Sun, 27 Mar 2011 13:46:11 +0000 (UTC) Received: by wyf23 with SMTP id 23so2572520wyf.13 for ; Sun, 27 Mar 2011 06:46:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:to:subject:from:cc :x-send-pr-version:x-gnats-notify; bh=UDWBhTDyiDYaBMT5wHSJWeKnuNILytUH6T9IWeGWyyo=; b=g2hrpGNv8ViBVa0kcsZfKS7C+6cH95MV/h54OaKa12r/NYIJih/7L1yltyO59ct9bj GKIZAVrPYyfPDsFRTiZ7EsGrMo3s91w+ZFxKwKlSF06bfTf7po18HT4bISD1/yg3ul8q VYObB6LmgiV79u9ueKlbMY3Y7JjGBa8H/yYYI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:to:subject:from:cc:x-send-pr-version:x-gnats-notify; b=AmKuyR5fNGL6xHcoTp0CPihJjlHw++kXz7pyHvPdT5ih8U2Sg/hfrj82/Gc0j9Qba4 H7zihhCBtBooi686HSLr8V28uPrp6Vz0qKloO6TXsmH/svFrZAFmRiS2smtWft/NAtuu UY5N6m1s/js4DkObA6acfuGRDYxNwWjU12iwc= Received: by 10.216.144.166 with SMTP id n38mr1729291wej.75.1301231810678; Sun, 27 Mar 2011 06:16:50 -0700 (PDT) Received: from localhost (cpc1-oxfd15-0-0-cust230.4-3.cable.virginmedia.com [82.24.248.231]) by mx.google.com with ESMTPS id l24sm1474488wbc.30.2011.03.27.06.16.47 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 27 Mar 2011 06:16:49 -0700 (PDT) Message-ID: <4d8f38c1.581ce30a.1df5.63c3@mx.google.com> Date: Sun, 27 Mar 2011 06:16:49 -0700 (PDT) To: FreeBSD-gnats-submit@freebsd.org From: Julien Laffaye X-send-pr-version: 3.113 X-GNATS-Notify: Cc: python@FreeBSD.org Subject: [PATCH] lang/python: speed up upgrade-site-packages X-BeenThere: freebsd-python@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD-specific Python issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Mar 2011 13:46:12 -0000 >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 --- python-2.7,2.patch ends here ---