From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 08801138206 for ; Mon, 15 Jan 2018 17:07:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 35BF5E082F; Mon, 15 Jan 2018 17:07:27 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D88C1E07D9 for ; Mon, 15 Jan 2018 17:07:26 +0000 (UTC) Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: floppym) by smtp.gentoo.org (Postfix) with ESMTPSA id A5891335C5C for ; Mon, 15 Jan 2018 17:07:25 +0000 (UTC) Received: by mail-wm0-f48.google.com with SMTP id i186so3185752wmi.4 for ; Mon, 15 Jan 2018 09:07:25 -0800 (PST) X-Gm-Message-State: AKwxytcsCuEZBpGkeQqWkELdYxMwSWaTwecu4RDCZXrxwc89pThoiO0B u8d+kzmgSmNijBS32jXXCcjybUSXUy74cpkeUqY= X-Google-Smtp-Source: ACJfBoszVQogF6Hhe2662FAjxvEQoT80CTnV2IKfsTVfyc8q346lHTiuBAkvioTH5bcsyNbRRvpndnj//5ijJPcRyJw= X-Received: by 10.28.9.77 with SMTP id 74mr10641630wmj.107.1516036042898; Mon, 15 Jan 2018 09:07:22 -0800 (PST) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Received: by 10.223.154.86 with HTTP; Mon, 15 Jan 2018 09:07:02 -0800 (PST) In-Reply-To: References: From: Mike Gilbert Date: Mon, 15 Jan 2018 12:07:02 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [gentoo-dev] RFC: ${PYTHON_COMPAT_ADD} in addition to ${PYTHON_COMPAT_OVERRIDE} To: Gentoo Dev Content-Type: text/plain; charset="UTF-8" X-Archives-Salt: 573417a8-b053-49e0-9aac-1898e0b48c4f X-Archives-Hash: a72890b78763f959c27e0de89c97e578 On Mon, Jan 15, 2018 at 10:27 AM, Francesco Riosa wrote: > > In late 2015 ${PYTHON_COMPAT_OVERRIDE} has been standardized and added > to all python eclasses, it's useful for developers that want test and > mark the package for newer versions of python. > > However (unless I'm missing something) PYTHON_COMPAT_OVERRIDE is not > usable if: > - the user want only python 2.7 and 3.6 (latest) installed > no python 3.5 > - don't want to mess dependencies (the warnings in the eclass are scary) > > So, what can be done to let the user choose it's preferred python > version(s) without having to build it's own overlay? > > One solution is to change ebuilds in tree to include a user variable in > the PYTHON* arrays, example: > > -PYTHON_COMPAT=( python3_{4,5} ) > +PYTHON_COMPAT=( python3_{4,5} ${PYTHON_COMPAT_ADD} ) > > if someone want to bet that packages are ok with 3.6/latest (even before > a developer tested it) then add PYTHON_COMPAT_ADD=python3_6 to > /etc/portage/make.conf and run egencache. I like the idea to inject values into PYTHON_COMPAT instead of overriding it completely. I'm pretty sure this can/should be implemented in the eclass without touching ebuilds. I'm not sure I really like the idea of affecting the other metadata variables. I can see your point about wanting to remove python versions that would otherwise satisfy dependencies. If metadata is modified this way, it would definitely be "unsupported". As far as implementation, you would probably need to write the patches for this. Also, I expect the QA team might have some objections, so you may want to discuss it with them (especially mgorny) before spending too much time on it.