From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 3352D1385F8 for ; Tue, 22 Jan 2013 16:11:03 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AAE2F21C001; Tue, 22 Jan 2013 16:10:59 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DE8EE21C001 for ; Tue, 22 Jan 2013 16:10:58 +0000 (UTC) Received: from pomiocik.lan (213-238-105-25.adsl.inetia.pl [213.238.105.25]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 3739B33DADC; Tue, 22 Jan 2013 16:10:56 +0000 (UTC) Date: Tue, 22 Jan 2013 17:11:28 +0100 From: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= To: gentoo-python@lists.gentoo.org Subject: [gentoo-python] PYTHON_USEDEP - '?' vs '(-)?' USE-deps Message-ID: <20130122171128.65d22f6c@pomiocik.lan> Organization: Gentoo X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.14; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Discussions centering around the Python ecosystem in Gentoo Linux X-BeenThere: gentoo-python@gentoo.org X-BeenThere: gentoo-python@lists.gentoo.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA256; boundary="Sig_/mHAl2V5BOQgpA_s/2sH2W=r"; protocol="application/pgp-signature" X-Archives-Salt: 15abde1c-6c92-4f7e-aa3d-52a9bc27d7fe X-Archives-Hash: 787c487eee74d1f0636f3119853888be --Sig_/mHAl2V5BOQgpA_s/2sH2W=r Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, There has been some debate whether we should be using plain '?' USE-dependencies or the USE-default form '(-)?'. I have reviewed the practical differences between them (using portage), and I'd like to shortly summarize them. Just for clarity, the general problem: dev-python/foo depends on dev-python/setuptools. Therefore, the Python implementations enabled in dev-python/foo, need to be enabled (and supported) in setuptools as well. The 'flag?' syntax requires the dependency to have flag in IUSE (the implementation in PYTHON_COMPAT). If it's not there, the package does not satisfy the dependency *even if* the flag is disabled. IOW, dev-python/foo deps on dev-python/bar. foo has python3_3 in PYTHON_COMPAT, bar-2 does not. Even people with python3_3 disabled won't be able to emerge bar-2 as a dependency of foo. The 'flag(-)?' syntax assumes that a missing flag in the dependency is equivalent to the flag being disabled. In this particular case, it means that the dependency won't be satisfied if py3.3 is enabled. That was for the formal part. Now the practical implications. 1. No version of the dependency supports the requested implementation: portage: with both variants, refuses to merge the package, shows a bit about missing USE flags repoman: with 'flag?' variant, complains about it for most profiles with an error of missing dep. with 'flag(-)?' variant, no errors nor warnings. +1 for 'flag?' 2. The newest version of the dependency doesn't support the requested implementation: portage: - with 'flag?', always uses the older version, - with 'flag(-)?', uses the older version only if the unsupported implementation is enabled. repoman: no errors nor warnings. +1 for 'flag(-)?' I'd say that the both cases are not 'good enough'. 'flag?' is a bit saner for QA, 'flag(-)?' for when QA fails (and people use repoman --force because they NEED that python3.3 so much)... Maybe we should make repoman more paranoid about missing flags in the first place? --=20 Best regards, Micha=C5=82 G=C3=B3rny --Sig_/mHAl2V5BOQgpA_s/2sH2W=r Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iJwEAQEIAAYFAlD+ujEACgkQfXuS5UK5QB3ViQP/Xd9N7QCrj3fwe7pQjGLtE9E/ dE1h/FtVZPAP89I4EOmuIoShq0eWiqFKNnWyy+rutFxmYn7L/EkHS89nJAcGKsg2 TahxrC3ugT0jsWtbYjvowMbu0xA8lLBVuTK+Y4g4sD7DP3ukPwUoPnSPAOCyWkeJ hRVL6tJ4iiniW6jmD9Q= =a/yB -----END PGP SIGNATURE----- --Sig_/mHAl2V5BOQgpA_s/2sH2W=r--