From owner-freebsd-ports@FreeBSD.ORG Sun Mar 6 08:09:58 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93BDA1065672 for ; Sun, 6 Mar 2011 08:09:58 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-yi0-f54.google.com (mail-yi0-f54.google.com [209.85.218.54]) by mx1.freebsd.org (Postfix) with ESMTP id 4EA5F8FC15 for ; Sun, 6 Mar 2011 08:09:58 +0000 (UTC) Received: by yie12 with SMTP id 12so1446728yie.13 for ; Sun, 06 Mar 2011 00:09:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:reply-to:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=+65jhNUs1YuzHjZEsGLnY2m4Ik8GwI79199P4z/FUo4=; b=sQwbK5quzDBA6/3tUkv5GdMS2uQToF43RcUJhr9xak/QVjMqOVUOhVsFR37U/6mI8K C2o9adH0SiW0Xm/7Citmo2/rdnU2KpY4Rks8GJulLgY/ykCcQieQWiLjCnN2FSVzvuy4 skql24asGH284sylI1C1FmfJylhZzVN4m8S0M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; b=rGc/M+u9u5cLPoAIVQHv7nbVu/tMDnipbla4q9xtc2vKHwyyLFejaKdSGQxujFuNSc atpXxsoHp5te/96c5HmrYGMasktoviOgB9/Oi6OaAaENleke1f5/1QX/NopRQrsQ17Ns mFbV2rxDlp6Ou2V5OzLCPMj74Z836ZHR4cldI= MIME-Version: 1.0 Received: by 10.236.191.7 with SMTP id f7mr963103yhn.89.1299398997109; Sun, 06 Mar 2011 00:09:57 -0800 (PST) Received: by 10.236.108.44 with HTTP; Sun, 6 Mar 2011 00:09:57 -0800 (PST) In-Reply-To: <4D733638.5030608@gwdg.de> References: <4D733638.5030608@gwdg.de> Date: Sun, 6 Mar 2011 08:09:57 +0000 Message-ID: From: "b. f." To: Rainer Hurling Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-ports@freebsd.org Subject: Re: [FYI] Fwd: cvs commit: ports UPDATING ports/Mk bsd.python.mk X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: bf1783@gmail.com List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2011 08:09:58 -0000 On 3/6/11, Rainer Hurling wrote: > On 06.03.2011 00:56 (UTC+1), b. f. wrote: >>>> Does it rebuild all depending packages? >>> >>> And waht is the difference between make upgrade-site-packages and >>> portupgrade -r python? >> >> As I explained earlier on freebsd-python@, unlike 'portupgrade -r >> python', the upgrade-site-packages target just rebuilds ports that >> have files in the library directories belonging to non-default >> versions of python, and ports that in turn depend upon them, not >> necessarily every port that lists python as a dependency. >> upgrade-site-packages is for your convenience, to rebuild a (probably) >> smaller collection of ports that are most likely to need rebuilding >> after a change in default python versions. > > Thanks for the explanation. In principle the script works as aspected. > As far as I can see there remain some ports like graphics/qgis without > upgrading. QGIS defines USE_PYTHON=yes in its Makefile, but is not > upgraded. Other examples from my installations are multimedia/xbmc, > irc/xchat, editors/openoffice.org-3. > > pkg_libchk from sysutils/bsdadminscripts identifies most (all?) of them. Sure, there are a number of ways to identify which ports actually depend upon python. pkg_libchk will get you most, but maybe not all, of them. (One might be configured in a way that depends upon the specific version of python used, but not actually link to a python shared library, for example.) Since rebuilding lots of ports can consume time and resources, and some ports depend upon python only to the extent of containing portable scripts with a /usr/local/bin/python shebang in them, and hence don't really need to be updated, the upgrade-site-packages target was created as a reasonable compromise, to update only those ports that probably need to be updated when the default version of python is changed. update-site-packages may update a few that don't need to be updated (a port that really needs and is set up to use a non-default version of python, for example), and it may miss others that ought to be updated (a port that doesn't install files in a python library directory, but nevertheless depends in an important way upon the specific version of python used). If you want to be thorough, then don't use upgrade-site-packages, but rather recursively update all ports that depend directly or indirectly upon python. b.