From owner-freebsd-questions@FreeBSD.ORG Mon Jul 6 14:00:01 2009 Return-Path: Delivered-To: freebsd-questions@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CFB6106564A for ; Mon, 6 Jul 2009 14:00:00 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-bw0-f221.google.com (mail-bw0-f221.google.com [209.85.218.221]) by mx1.freebsd.org (Postfix) with ESMTP id 501E98FC22 for ; Mon, 6 Jul 2009 13:59:59 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: by bwz21 with SMTP id 21so439592bwz.43 for ; Mon, 06 Jul 2009 06:59:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=3HvlRVW0b4u8U6llHIS2kGyuZknJ3Qv69//ZwxoU80Q=; b=SUCjjDMF+bLb8qvZcO4asC1k9FhCA2+544u3y94ZvhvU0XtbdbWuuxS0yAbaKssomM VqBONBmlH9hLXEWh5um8DB639P7v9Sh+pU8ydhDgNuiSD7jQvJPbUvMONCHVBPXD9gKy 1RIw0A1qxc6QfzsqIGNrpo9MLuOHZ52tsPq54= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=CqNTVjscAWNrFhDlv1Rw64J9kGIUYwiiQv5+0nONo9THAiFLshhxwcM9cAZP+UAeI5 +1CHDAfmaTIETL47wCcnYTZJdemomQah7Be/oFxEvtwm9FkhQKk5NTkbQQc9dqutRTa8 i68fulnCYmUHoybyjOmaPgHvG8i+noaac5i/I= MIME-Version: 1.0 Received: by 10.239.152.143 with SMTP id v15mr362789hbb.26.1246888798895; Mon, 06 Jul 2009 06:59:58 -0700 (PDT) In-Reply-To: References: Date: Mon, 6 Jul 2009 13:59:58 +0000 Message-ID: From: "b. f." To: freebsd-questions@FreeBSD.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: manish jain Subject: Re: Urgent help needed : portmaster dies on py-cairo X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 14:00:01 -0000 On 7/6/09, manish jain wrote: > 2009/7/6 b. f. > > After running pkgdb -F, I find that there hundreds of ports depending on > python2.5. Most of these are probably indirectly dependent, and may not be seriously affected. Many, for example, may have been dragged in by xorg's silly dependency on python via libxcb. >Looks to me it will be easier to backup my dstfiles and reinstall > the whole system afresh a 3rd time rather than trying to fix the existing > ports. This time I will install no packages from the installation media, and > build directly from ports instead. The first 2 ports I will build this time > will be lang/python26 followed by lang/python. Sounds good. > I suppose this should set the > systemwide default python version to 2.6. As the others have mentioned, you don't need to do this unless you wish to use a version of python other than 2.6, which is now the default. > 1) How do I find or set PYTHON_DEFAULT_VERSION ? > 2) What workaround would be needed in make.conf to get 2.5-hardwired ports > to use 2.6 instead ? 1) See above. 2) I didn't mean, as Seaman seemed to think, and you may have, that you can use ports built against 2.5 with 2.6. That would only rarely work, and most likely lead to all sorts of problems. Instead you should proceed with your plan, and rebuild all dependent ports via: pkgdb -L pkgdb -F portupgrade -fvrx lang/python26 lang/python26 rm -r /usr/local/lib/python2.5 or rebuild just that subset of ports that are most likely to be broken by the change, via the upgrade-site-packages target in lang/python, as Seaman suggested. What I meant by my original comment was, that if you should happen to want to build a port against 2.6, but find that it is hardwired in the port Makefile via USE_PYTHON to another version or versions, and you don't want to go to the trouble of patching the port Makefile, and then preserving this local modification when you merge in updates to the port tree, you can add a workaround in /etc/make.conf. Say, for example, you see that mail/py-spambayes has: USE_PYTHON= -2.5 in the port Makefile, and you want to install spambayes, but you don't want to have to reinstall python 2.5 or an earlier version of python. If you add: .if${.CURDIR:M*/mail/py-spambayes*} PYTHON_VERSION=python2.6 NO_IGNORE=yes .endif to /etc/make.conf, you can override the spambayes port Makefile without patching it. Now, you are _not_ supposed to do this, and you will probably have to deal with any consequences of such a local change on your own. Many ports have these restrictions for a good reason, but such an override can be occasionally useful. b.