Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 2018 17:56:00 -0500
From:      Jim Trigg <jtrigg@huiekin.org>
To:        freebsd-ports@freebsd.org
Subject:   Re: Why portmaster try to install python 3.6 when I have 3.4 set in /etc/make.conf?
Message-ID:  <D7CD81F6-9176-4595-A830-D8B4A7B149A1@huiekin.org>
In-Reply-To: <fe5ffb19-ebeb-2cec-d285-c1949e54c7fd@freebsd.org>
References:  <55707b9f-3d02-2982-2aa8-3570724608ac@FreeBSD.org> <dbe7b775-b957-a72f-c1a5-fd0a7877b525@freebsd.org> <fe5ffb19-ebeb-2cec-d285-c1949e54c7fd@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
ISTR that there is a more generic variable that will cause make to work wit=
h all flavors instead of the default "common" set=2E Not where I can easily=
 look up specifics right now=2E=2E=2E

Thanks,
Jim Trigg


On January 10, 2018 3:59:17 PM EST, Stefan Esser <se@freebsd=2Eorg> wrote:
>Am 10=2E01=2E18 um 21:30 schrieb Stefan Esser:
>> Am 10=2E01=2E18 um 17:29 schrieb Lev Serebryakov:
>>>  I have system with pre-FLAVORed ports installed, and try to update
>>> ports with new version of "portmaster"=2E My "/etc/make=2Econf"
>contains:
>>>
>>> DEFAULT_VERSIONS+=3D      python2=3D2=2E7
>>> DEFAULT_VERSIONS+=3D      python3=3D3=2E4
>>> DEFAULT_VERSIONS+=3D      python=3D3=2E4
>>>
>>>  But "portmaster -a" try to install python 3=2E6:
>>>
>>> =3D=3D=3D>>> All >> py34-pip-9=2E0=2E1 (12/12)
>>>         =3D=3D=3D>>> The devel/py3-pip port moved to devel/py-pip@py36
>>>         =3D=3D=3D>>> Reason: Moved to a flavored, generic, version
>>> [=2E=2E=2E]
>>> =3D=3D=3D>>> All >> py34-pip-9=2E0=2E1 >> devel/py-setuptools@py36 >>
>>> lang/python36 (14/14)
>>=20
>> Another example that the FLAVOR feature is not well designed :(
>>=20
>> The entry in /usr/ports/MOVED maps devel/py3-pip to devel/py-pip@py36
>> even though building that port with FLAVOR=3Dpy34 builds the correct
>> version with the expected dependency on Python-3=2E4=2E
>>=20
>> If at least the output of "make pretty-flavors-package-names" did
>hint
>> at the existence of a package for FLAVOR=3Dpy34, I could make
>portmaster
>> override the wrong FLAVOR obtained from the MOVED file=2E
>>=20
>> But the output of that command is:
>>=20
>> $ cd /usr/ports/devel/py-py
>> $ make pretty-flavors-package-names
>> py27: py27-py-1=2E5=2E2
>> py36: py36-py-1=2E5=2E2
>
>I have just checked, that the ports infrastructure already kind of
>supports this case=2E With PYTHON3_DEFAULT=3D3=2E4 set in /etc/make=2Econ=
f,
>it is possible to determine the flavor that corresponds to the
>package to be upgraded:
>
>$ PYTHON3_DEFAULT=3D3=2E4 make pretty-flavors-package-names
>py27: py27-py-1=2E5=2E2
>py34: py34-py-1=2E5=2E2
>
>I'll try to get this feature implemented in portmaster, but it may
>take a few days =2E=2E=2E
>
>Regards, STefan
>_______________________________________________
>freebsd-ports@freebsd=2Eorg mailing list
>https://lists=2Efreebsd=2Eorg/mailman/listinfo/freebsd-ports
>To unsubscribe, send any mail to
>"freebsd-ports-unsubscribe@freebsd=2Eorg"

--=20
Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E
From owner-freebsd-ports@freebsd.org  Thu Jan 11 08:48:29 2018
Return-Path: <owner-freebsd-ports@freebsd.org>
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 92227E78177
 for <freebsd-ports@mailman.ysv.freebsd.org>;
 Thu, 11 Jan 2018 08:48:29 +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 572782214
 for <freebsd-ports@freebsd.org>; Thu, 11 Jan 2018 08:48:28 +0000 (UTC)
 (envelope-from se@freebsd.org)
Received: from fwd36.aul.t-online.de (fwd36.aul.t-online.de [172.20.26.137])
 by mailout02.t-online.de (Postfix) with SMTP id 525C641B0904;
 Thu, 11 Jan 2018 09:48:26 +0100 (CET)
Received: from Stefans-MBP-LAN.fritz.box
 (Eq8bqTZU8h7P8ceNMyepFsbZcCWhzidXCz3E8Q6GlomT2HaYzVUX0q42RlAsVAKgao@[87.151.219.126])
 by fwd36.t-online.de
 with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted)
 esmtp id 1eZYX0-37vbTU0; Thu, 11 Jan 2018 09:48:14 +0100
Subject: Re: Why portmaster try to install python 3.6 when I have 3.4 set in
 /etc/make.conf?
To: Jim Trigg <jtrigg@huiekin.org>, freebsd-ports@freebsd.org
References: <55707b9f-3d02-2982-2aa8-3570724608ac@FreeBSD.org>
 <dbe7b775-b957-a72f-c1a5-fd0a7877b525@freebsd.org>
 <fe5ffb19-ebeb-2cec-d285-c1949e54c7fd@freebsd.org>
 <D7CD81F6-9176-4595-A830-D8B4A7B149A1@huiekin.org>
From: Stefan Esser <se@freebsd.org>
Message-ID: <eb07c514-b218-904b-4538-a0e0402623fe@freebsd.org>
Date: Thu, 11 Jan 2018 09:48:13 +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: <D7CD81F6-9176-4595-A830-D8B4A7B149A1@huiekin.org>
Content-Type: text/plain; charset=windows-1252
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ID: Eq8bqTZU8h7P8ceNMyepFsbZcCWhzidXCz3E8Q6GlomT2HaYzVUX0q42RlAsVAKgao
X-TOI-MSGID: 80e51402-0846-4e5f-abd9-9ddfff73bf5a
X-BeenThere: freebsd-ports@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: Porting software to FreeBSD <freebsd-ports.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-ports>,
 <mailto:freebsd-ports-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-ports/>;
List-Post: <mailto:freebsd-ports@freebsd.org>
List-Help: <mailto:freebsd-ports-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-ports>,
 <mailto:freebsd-ports-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jan 2018 08:48:29 -0000

Am 10.01.18 um 23:56 schrieb Jim Trigg:
> ISTR that there is a more generic variable that will cause make to work with
> all flavors instead of the default "common" set. Not where I can easily look
> up specifics right now...

FLAVOR support has many rough edges and I expect those to hurt us in one way
or the other in the future. A lot of them could easily be fixed, but a sound
design should have covered them from the beginning.

There is no generic ALL_FLAVORS variable, but some of the generic FLAVOR
support implemented in Mk/Uses does offer a way to access all FLAVORs. In the
case of Python ports, you have to pass -D BUILD_ALL_PYTHON_FLAVORS to make to
get FLAVOR set to all supported Python versions/flavors:

$ make -V FLAVORS
 py27 py36

$ make -V FLAVORS -D BUILD_ALL_PYTHON_FLAVORS
py27 py36 py35 py34

The upcoming Emacs flavor support will use a different parameter and for any
of the many individual ports, that support flavors directly in their
respective Makefiles, the variable will have a local name.

There seems to be a clear opinion in the portmgr team, that not all flavors
of each port shall be built by the package build cluster, but only those that
are most commonly used (e.g. py27 and py36), which I understand because else
there would be thousands of additional python packages (and later perl and
others) that are hardly ever used. But there should still be provisions to
obtain a full list of flavors in a generic way. (I had used "FLAVORS" to
denote a list of all supported flavors and e.g. PKG_FLAVORS for those that
are selected for the package builders, but FLAVORS for the selected set and
ALL_FLAVORS for the complete set will do as well ...)

I'm not going to work-around such deficiencies in the design of FLAVORs in
portmaster. I'd have to follow each new port that is converted to flavors to
check whether it has all flavors in FLAVORS and which other name it uses for
a list of possible FLAVOR values (if such a list explicitly exists at all,
it could also be implicitly present in the form of control structures in the
port's Makefile).

I'll ask portmgr for a few small changes (a generic ALL_FLAVORS variable and
a make target that lists all package names and corresponding flavors for a
port), and I hope I get approval for these changes.

For now I'll have to develop a method that at least partially compensates the
missing FLAVOR support features required for port management tools.

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D7CD81F6-9176-4595-A830-D8B4A7B149A1>