public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
To: Brian Harring <ferringb@gmail.com>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] pkg_pretend USE validation and VALID_USE alternative
Date: Thu, 1 Apr 2010 08:41:02 +0100	[thread overview]
Message-ID: <20100401084102.2560f3a3@snowmobile> (raw)
In-Reply-To: <20100401073109.GI11663@hrair>

[-- Attachment #1: Type: text/plain, Size: 2594 bytes --]

On Thu, 1 Apr 2010 00:31:09 -0700
Brian Harring <ferringb@gmail.com> wrote:
> > Cycle breaking requires explicit instructions from the ebuilds in
> > question (many of which are system things, which further
> > complicates it) along with support from Portage, so it's a distant
> > future, lot of work thing.
> 
> Nonsense.  Note I said 'use cycle', not the generic 'cycle
> breaking'. USE induced cycles don't require explicit instructions
> from the ebuild at all- the PM itself can search the solution space
> (toggling flags as needed) to search out a way around the cycle.
> 
> Consider user configuration w/ USE=X, pkg_a w/ DEPEND "X? ( pkg_b )", 
> pkg_b w/ DEPEND "pkg_a".  To be clear, you're claiming that the 
> ebuild itself (and only the ebuild) is the the one able to state-
> 
> emerge pkg_a[-X]
> emerge pkg_a[X]
> 
> As demonstrated, that cycle is easily broken.  A lot of the cycles 
> users run into originate that way also.

Congratulations. You just turned on 'build' and 'bootstrap', and turned
off 'acl'.

> And as I've already laid out in the bug, pkg_pretend has it's own set 
> of issues when compared to pkg_setup due to it being non temporal, 
> thus having high false positive potentials.

These are exactly the same issues that pkg_setup has. You can't block a
useful feature simply because developers could theoretically screw
things up by using it.

> The main council push for pkg_pretend was to move use constraint 
> checking to pre build.  VALID_USE does that cleaner and enabling use 
> cycle breaking to be built; as such I'm pushing it up to them unless 
> someone can find significant *real* flaws.

No, VALID_USE addresses a *subset* of the issues. It's not a
replacement for pkg_pretend.

> > When in the distant future Portage
> > becomes able to deal with cycle breaking, ebuilds can be converted
> > to use something like VALID_USE when they're also updated to export
> > information on which of their flags can safely be toggled.
> 
> You're being short sighted.  VALID_USE is useful now for representing 
> use states that are allowed; that data itself is useful for use cycle 
> breaking.  Added bonus of enabling better functionality via a
> superior solutions, basically.

Simply adding VALID_USE won't let you do cycle breaking. You also need
extensive lists of which flags for which packages can safely be toggled
and when without breaking the system, and the only way you'll get those
lists is if developers care enough to update their ebuilds to provide
them.

-- 
Ciaran McCreesh

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2010-04-01  7:41 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-31  9:20 [gentoo-dev] pkg_pretend USE validation and VALID_USE alternative Brian Harring
2010-03-31  9:48 ` [gentoo-dev] Re: [gentoo-council] " Ulrich Mueller
2010-03-31 10:46   ` Brian Harring
2010-03-31 11:04     ` [gentoo-dev] " Ulrich Mueller
2010-03-31 11:11       ` Brian Harring
2010-03-31 15:38       ` "Paweł Hajdan, Jr."
2010-03-31 11:18     ` [gentoo-dev] Re: [gentoo-council] " Piotr Jaroszyński
2010-04-01 20:44     ` Róbert Čerňanský
2010-04-01 21:51       ` Zac Medico
     [not found] ` <201003312316.23806.ali_bush@gentoo.org>
2010-03-31 10:57   ` Brian Harring
2010-03-31 17:49 ` [gentoo-dev] " Alex Alexander
2010-03-31 19:46   ` Brian Harring
2010-03-31 19:56     ` Ciaran McCreesh
2010-04-01  7:31       ` Brian Harring
2010-04-01  7:41         ` Ciaran McCreesh [this message]
2010-04-01  7:56           ` Brian Harring
2010-04-01 10:10             ` Gilles Dartiguelongue
2010-04-01 10:18               ` Brian Harring
2010-04-01 10:42                 ` Gilles Dartiguelongue
2010-04-01 10:59                   ` Brian Harring
2010-04-01 11:23                     ` Ciaran McCreesh
2010-04-01 11:38                       ` Brian Harring
2010-04-01 11:50                         ` Ciaran McCreesh
2010-04-01 10:49             ` Ciaran McCreesh
2010-04-01 11:18               ` Brian Harring
2010-04-01 11:44                 ` Ciaran McCreesh
2010-04-01 17:04                 ` David Leverton
2010-04-01 18:39                   ` Dror Levin
2010-04-01 18:55                     ` Ciaran McCreesh
2010-04-02 22:36                     ` David Leverton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100401084102.2560f3a3@snowmobile \
    --to=ciaran.mccreesh@googlemail.com \
    --cc=ferringb@gmail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox