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 38E66138825 for ; Sat, 8 Nov 2014 13:40:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3F774E0907; Sat, 8 Nov 2014 13:40:24 +0000 (UTC) Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B1BF8E08D5 for ; Sat, 8 Nov 2014 13:40:22 +0000 (UTC) Received: by mail-wg0-f47.google.com with SMTP id a1so5662886wgh.34 for ; Sat, 08 Nov 2014 05:40:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-type; bh=nv4UpdFLBDxJ4y1XOt99RrB93SnqSfXyaffc1w2qJOY=; b=QoUwp8BYKbT1lmd0WgFrj7knRWeqsSEt3kuwtpIKfKo6n1GVprgR0RZKqpEV7UuiwC 8wICMwpPhEPmXMRf6SiUe7tta7uU1Ar2ptwYsAseMMUxyeeeMoADpZfdtDfQvqyURAEx /ctmxbXef6NzpxGgNewVR+cW1RfpxWV/QW8AQecOf/AA3QNOi+P4uvyjF+5ig4lmqqp5 etEqYTTtgn8HRPEO7AJFO7T4kUnm7jVFCvyV2uuYMI+tMuyzbPJLioMjPrIK07Wzgn/t 9TR/MYQw86sy2nr1lM915VmVkEX0I31IYYuQklqGsOnEbabrgO7LZl2PqrQL6w2zDV5J NGBg== X-Received: by 10.180.84.198 with SMTP id b6mr14381013wiz.41.1415454021488; Sat, 08 Nov 2014 05:40:21 -0800 (PST) Received: from localhost (cpc67371-broo7-2-0-cust693.14-2.cable.virginm.net. [82.28.182.182]) by mx.google.com with ESMTPSA id cz3sm15513744wjb.23.2014.11.08.05.40.21 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 08 Nov 2014 05:40:21 -0800 (PST) Date: Sat, 8 Nov 2014 13:40:14 +0000 From: Ciaran McCreesh To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Portage dependency solving algorithm Message-ID: <20141108134014.605d90a6@googlemail.com> In-Reply-To: <545D2435.9040309@gentoo.org> References: <970447233.123246.1415278148751.JavaMail.yahoo@jws10951.mail.sg3.yahoo.com> <545B76DA.30000@gentoo.org> <20141106134301.3bd86ad9@googlemail.com> <545C940F.1030206@gentoo.org> <20141107180723.2acdb8e7@googlemail.com> <545D0B38.4070105@gentoo.org> <20141107183011.20f12812@googlemail.com> <20141107192101.01262936@googlemail.com> <545D2435.9040309@gentoo.org> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.25; x86_64-pc-linux-gnu) 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 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/_.iWrxUvaWU.1jv/exBaoOs"; protocol="application/pgp-signature" X-Archives-Salt: 46f4f053-374c-43e9-9658-1bfb945e2bd8 X-Archives-Hash: 2a1e37f37f1ae28642d4f993fd2ac72c --Sig_/_.iWrxUvaWU.1jv/exBaoOs Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Fri, 07 Nov 2014 20:57:41 +0100 Jauhien Piatlicki wrote: > What;s wrong with input? PMS itself or how do maintainers write > ebuilds? Could you explain? A mixture of both. Gentoo developers like writing eclasses that write unnecessarily clever, highly messy and technically incorrect dependency strings (see how Perl and Ruby are done, for prime examples). Doing this kind of thing well requires support from PMS, so developers can express what they want to say directly rather than via some convoluted mess of nested ||s, []s, slot abuse and faked range dependencies. However, it's currently culturally more acceptable to try to make yourself look clever by writing the new "world's most convoluted family of eclasses", so developers aren't asking for the features they need. In a way, this brings us back to SAT and CNF. Although you *can* encode this kind of thing in SAT (or rather, in QSAT...), the encoding is utterly opaque and doesn't lend itself to a good algorithm. The dependencies some developers are writing are nearly as bad. --=20 Ciaran McCreesh --Sig_/_.iWrxUvaWU.1jv/exBaoOs Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlReHUIACgkQ96zL6DUtXhFZkACcDeabJWw26PrdlPJoubY1AkDX cu4AnAu3vtvPNziaE746R64Cyvd6X+AL =OcQT -----END PGP SIGNATURE----- --Sig_/_.iWrxUvaWU.1jv/exBaoOs--