From owner-freebsd-ports@freebsd.org Wed Jan 10 20:30:30 2018 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA40CE74DEB for ; Wed, 10 Jan 2018 20:30:30 +0000 (UTC) (envelope-from se@freebsd.org) Received: from mailout02.t-online.de (mailout02.t-online.de [194.25.134.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mailout00.t-online.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A08646A838; Wed, 10 Jan 2018 20:30:30 +0000 (UTC) (envelope-from se@freebsd.org) Received: from fwd22.aul.t-online.de (fwd22.aul.t-online.de [172.20.26.127]) by mailout02.t-online.de (Postfix) with SMTP id D4E9941A9E57; Wed, 10 Jan 2018 21:30:12 +0100 (CET) Received: from Stefans-MBP.fritz.box (SaQlbsZv8hyCyo3EMlj2bpM5pVGNRmR6azhx3+ds3S1iCG397wM3hzT3jsfQy1DZzu@[87.151.219.126]) by fwd22.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1eZN0l-1jVqYy0; Wed, 10 Jan 2018 21:30:11 +0100 Subject: Re: Why portmaster try to install python 3.6 when I have 3.4 set in /etc/make.conf? To: lev@FreeBSD.org, freebsd-ports@freebsd.org References: <55707b9f-3d02-2982-2aa8-3570724608ac@FreeBSD.org> From: Stefan Esser Message-ID: Date: Wed, 10 Jan 2018 21:30:08 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <55707b9f-3d02-2982-2aa8-3570724608ac@FreeBSD.org> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-ID: SaQlbsZv8hyCyo3EMlj2bpM5pVGNRmR6azhx3+ds3S1iCG397wM3hzT3jsfQy1DZzu X-TOI-MSGID: 946049e3-d9f7-4420-b0e8-29447bbdf362 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2018 20:30:30 -0000 Am 10.01.18 um 17:29 schrieb Lev Serebryakov: > I have system with pre-FLAVORed ports installed, and try to update > ports with new version of "portmaster". My "/etc/make.conf" contains: > > DEFAULT_VERSIONS+= python2=2.7 > DEFAULT_VERSIONS+= python3=3.4 > DEFAULT_VERSIONS+= python=3.4 > > But "portmaster -a" try to install python 3.6: > > ===>>> All >> py34-pip-9.0.1 (12/12) > ===>>> The devel/py3-pip port moved to devel/py-pip@py36 > ===>>> Reason: Moved to a flavored, generic, version > [...] > ===>>> All >> py34-pip-9.0.1 >> devel/py-setuptools@py36 >> > lang/python36 (14/14) Another example that the FLAVOR feature is not well designed :( The entry in /usr/ports/MOVED maps devel/py3-pip to devel/py-pip@py36 even though building that port with FLAVOR=py34 builds the correct version with the expected dependency on Python-3.4. If at least the output of "make pretty-flavors-package-names" did hint at the existence of a package for FLAVOR=py34, I could make portmaster override the wrong FLAVOR obtained from the MOVED file. But the output of that command is: $ cd /usr/ports/devel/py-py $ make pretty-flavors-package-names py27: py27-py-1.5.2 py36: py36-py-1.5.2 I could special case the knowledge that if a port can be built for py36 but the package name starts with py34-, that the FLAVOR is forced to be py34. But I'm not going to implement that kind of work-around in portmaster, I expect that the FLAVOR support is fixed in the port system. > What do I do wrong? You are not doing anything wrong, I'm afraid. The problem is in the current state of the ports system, with FLAVOR support just used as an alternative to slave ports, but without a sound design (IMHO). Once you have installed the port built with manually specified FLAVOR=py34, this information is recorded in the PKG DB, from where portmaster will fetch it and use it to upgrade the port, when needed. Regards, STefan