[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-05 Thread Ryan Hill
On Sat, 04 Oct 2008 10:17:05 -0700
Zac Medico [EMAIL PROTECTED] wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Ryan Hill wrote:
  Though I'm still not sure what happens when a package is in two
  unrelated sets..
  
  @gnome:
 RDEPEND==gnome-extra/gnome-screensaver-2.22.2
  
  @xfce4:
 RDEPEND=gnome-extra/gnome-screensaver
  
  package.use:
  @gnome opengl
  @xfce  -opengl
  
 
 I suppose we could use the order that they are listed in package.use
 to apply the incremental stacking, so opengl would be disabled since
 @xfce comes after @gnome.

I guess I'll need to stop sorting my package.use then. :p

But yeah, I have no better idea.  If someone really needs to lock down
a USE flag on a pkg they can put the pkg atom itself into p.use.


-- 
gcc-porting,  by design, by neglect
treecleaner,  for a fact or just for effect
wxwidgets @ gentoo EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662


signature.asc
Description: PGP signature


[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-04 Thread Ryan Hill
On Thu, 02 Oct 2008 02:51:53 +
Jorge Manuel B. S. Vicetto [EMAIL PROTECTED] wrote:

 Zac Medico wrote:
  Ryan Hill wrote:

  Though what happens if a package is in both sets which have
  conflicting flags in package.use?  I would say that the nested set
  has to have priority.  If not, I can easily imagine people getting
  confused when their USE settings for a set are being applied to
  all but one or two packages.

  It seems to me that the most logical approach would be to do some
  sort of incremental stacking, similar to the way that USE flags
  stack in the profiles. Suppose that we have the following settings
  in package.use:
  
   @kde-metafoo bar
   @kdeedu-meta -foo
  
  If the flags are stacked incrementally, analogously to the way that
  they are stacked in profiles, then the above setting would apply the
  foo and bar flags to all of @kde-meta except for the
  @kdeedu-meta subset which would only have bar applied since foo
  has been disabled incrementally. Does this approach seem reasonable?

 This sounds a good approach.
 
 Ryan, I disagree with your proposal. If I enable a use flag for the
 meta @kde and also disable it for @kdenetwork, I don't expect my
 option for the @kde meta to override my option for @kdenetwork.
 As Zac proposed, an incremental stack makes more sense. Before we had
 sets, when we enabled a use flag for a meta and disabled it for an
 ebuild pulled by the meta, we never expected the option for the ebuild
 to be overridden by the option for the meta.

Yes, that's what I said.  ;)

The nested set's flags (@kde-network) override the parent set's flags
(@kde).


-- 
gcc-porting,  by design, by neglect
treecleaner,  for a fact or just for effect
wxwidgets @ gentoo EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662


signature.asc
Description: PGP signature


[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-04 Thread Ryan Hill
On Sat, 4 Oct 2008 00:05:53 -0600
Ryan Hill [EMAIL PROTECTED] wrote:

 On Thu, 02 Oct 2008 02:51:53 +
 Jorge Manuel B. S. Vicetto [EMAIL PROTECTED] wrote:

  Ryan, I disagree with your proposal. If I enable a use flag for the
  meta @kde and also disable it for @kdenetwork, I don't expect my
  option for the @kde meta to override my option for @kdenetwork.
  As Zac proposed, an incremental stack makes more sense. Before we
  had sets, when we enabled a use flag for a meta and disabled it for
  an ebuild pulled by the meta, we never expected the option for the
  ebuild to be overridden by the option for the meta.

 Yes, that's what I said.  ;)
 
 The nested set's flags (@kde-network) override the parent set's flags
 (@kde).

Though I'm still not sure what happens when a package is in two
unrelated sets..

@gnome:
   RDEPEND==gnome-extra/gnome-screensaver-2.22.2

@xfce4:
   RDEPEND=gnome-extra/gnome-screensaver

package.use:
@gnome opengl
@xfce  -opengl


-- 
gcc-porting,  by design, by neglect
treecleaner,  for a fact or just for effect
wxwidgets @ gentoo EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-04 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ryan Hill wrote:
 Though I'm still not sure what happens when a package is in two
 unrelated sets..
 
 @gnome:
RDEPEND==gnome-extra/gnome-screensaver-2.22.2
 
 @xfce4:
RDEPEND=gnome-extra/gnome-screensaver
 
 package.use:
 @gnome opengl
 @xfce  -opengl
 

I suppose we could use the order that they are listed in package.use
to apply the incremental stacking, so opengl would be disabled since
@xfce comes after @gnome.
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkjnpRAACgkQ/ejvha5XGaMhCACfcCqqfRl6sLXbXsc9k/8yMg90
JqkAoLWCVoH2Jf+6RRAd0CnlLsl82SSO
=alvy
-END PGP SIGNATURE-



Re: [gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-02 Thread Robert Bridge
On Wed, 01 Oct 2008 09:37:25 -0700
Zac Medico [EMAIL PROTECTED] wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Ryan Hill wrote:
  On Mon, 29 Sep 2008 22:31:46 -0700
  Zac Medico [EMAIL PROTECTED] wrote:
  
  Can package.use syntax be extended to allow set entries?
  @compiz-fusion -gnome kde kde4
  Perhaps, but we need to clarify how that sort of setting will
  affect nested sets. For example, if @compiz-fusion contains nested
  sets, would those USE settings apply to the nested sets as well?
  Will nested sets be allowed to have independent USE settings from
  the sets that nest them?
  
  Maybe a nested set could inherit the USE flag settings of its
  parent set unless it has its own entry in package.use.
  
  Though what happens if a package is in both sets which have
  conflicting flags in package.use?  I would say that the nested set
  has to have priority.  If not, I can easily imagine people getting
  confused when their USE settings for a set are being applied to all
  but one or two packages.
 
 It seems to me that the most logical approach would be to do some
 sort of incremental stacking, similar to the way that USE flags
 stack in the profiles. Suppose that we have the following settings
 in package.use:
 
  @kde-metafoo bar
  @kdeedu-meta -foo
 
 If the flags are stacked incrementally, analogously to the way that
 they are stacked in profiles, then the above setting would apply the
 foo and bar flags to all of @kde-meta except for the
 @kdeedu-meta subset which would only have bar applied since foo
 has been disabled incrementally. Does this approach seem reasonable?

From a lowly users perspective, I would say this is more intuitive. It
fits with the expected policy of the closest flag to the package taking
precedence...

Rob.


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-01 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ryan Hill wrote:
 On Mon, 29 Sep 2008 22:31:46 -0700
 Zac Medico [EMAIL PROTECTED] wrote:
 
 Can package.use syntax be extended to allow set entries?
 @compiz-fusion -gnome kde kde4
 Perhaps, but we need to clarify how that sort of setting will affect
 nested sets. For example, if @compiz-fusion contains nested sets,
 would those USE settings apply to the nested sets as well? Will
 nested sets be allowed to have independent USE settings from the
 sets that nest them?
 
 Maybe a nested set could inherit the USE flag settings of its parent set
 unless it has its own entry in package.use.
 
 Though what happens if a package is in both sets which have
 conflicting flags in package.use?  I would say that the nested set has
 to have priority.  If not, I can easily imagine people getting confused
 when their USE settings for a set are being applied to all but
 one or two packages.

It seems to me that the most logical approach would be to do some
sort of incremental stacking, similar to the way that USE flags
stack in the profiles. Suppose that we have the following settings
in package.use:

 @kde-metafoo bar
 @kdeedu-meta -foo

If the flags are stacked incrementally, analogously to the way that
they are stacked in profiles, then the above setting would apply the
foo and bar flags to all of @kde-meta except for the
@kdeedu-meta subset which would only have bar applied since foo
has been disabled incrementally. Does this approach seem reasonable?
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkjjp0QACgkQ/ejvha5XGaNRUQCfcobuk6BFdlZgGrb/jVyAb87P
0goAn1gJp+Q2kdPaGtpmQwn/G5+yKTqU
=TJdF
-END PGP SIGNATURE-



Re: [gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-10-01 Thread Jorge Manuel B. S. Vicetto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico wrote:
 Ryan Hill wrote:
 On Mon, 29 Sep 2008 22:31:46 -0700
 Zac Medico [EMAIL PROTECTED] wrote:
 
 Can package.use syntax be extended to allow set entries?
 @compiz-fusion -gnome kde kde4
 Perhaps, but we need to clarify how that sort of setting will affect
 nested sets. For example, if @compiz-fusion contains nested sets,
 would those USE settings apply to the nested sets as well? Will
 nested sets be allowed to have independent USE settings from the
 sets that nest them?
 Maybe a nested set could inherit the USE flag settings of its parent set
 unless it has its own entry in package.use.
 
 Though what happens if a package is in both sets which have
 conflicting flags in package.use?  I would say that the nested set has
 to have priority.  If not, I can easily imagine people getting confused
 when their USE settings for a set are being applied to all but
 one or two packages.
 
 It seems to me that the most logical approach would be to do some
 sort of incremental stacking, similar to the way that USE flags
 stack in the profiles. Suppose that we have the following settings
 in package.use:
 
  @kde-metafoo bar
  @kdeedu-meta -foo
 
 If the flags are stacked incrementally, analogously to the way that
 they are stacked in profiles, then the above setting would apply the
 foo and bar flags to all of @kde-meta except for the
 @kdeedu-meta subset which would only have bar applied since foo
 has been disabled incrementally. Does this approach seem reasonable?

This sounds a good approach.

Ryan, I disagree with your proposal. If I enable a use flag for the
meta @kde and also disable it for @kdenetwork, I don't expect my
option for the @kde meta to override my option for @kdenetwork.
As Zac proposed, an incremental stack makes more sense. Before we had
sets, when we enabled a use flag for a meta and disabled it for an
ebuild pulled by the meta, we never expected the option for the ebuild
to be overridden by the option for the meta.

- --
Regards,

Jorge Vicetto (jmbsvicetto) - jmbsvicetto at gentoo dot org
Gentoo- forums / Userrel / Devrel / SPARC / KDE
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkjkN0kACgkQcAWygvVEyAK2iQCcDgNPwNlgw3MfV1WZj+S6L+xW
RZ4An0UONUAt60WeQAUbDk2rEMduUub9
=VYib
-END PGP SIGNATURE-



[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-09-30 Thread Ryan Hill
On Mon, 29 Sep 2008 22:31:46 -0700
Zac Medico [EMAIL PROTECTED] wrote:

  Can package.use syntax be extended to allow set entries?
  @compiz-fusion -gnome kde kde4
 
 Perhaps, but we need to clarify how that sort of setting will affect
 nested sets. For example, if @compiz-fusion contains nested sets,
 would those USE settings apply to the nested sets as well? Will
 nested sets be allowed to have independent USE settings from the
 sets that nest them?

Maybe a nested set could inherit the USE flag settings of its parent set
unless it has its own entry in package.use.

Though what happens if a package is in both sets which have
conflicting flags in package.use?  I would say that the nested set has
to have priority.  If not, I can easily imagine people getting confused
when their USE settings for a set are being applied to all but
one or two packages.


-- 
gcc-porting,  by design, by neglect
treecleaner,  for a fact or just for effect
wxwidgets @ gentoo EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-09-29 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Duncan wrote:
 Zac Medico [EMAIL PROTECTED] posted [EMAIL PROTECTED],
 excerpted below, on  Sun, 28 Sep 2008 15:56:27 -0700:
 
 For example, `emerge kde-meta` would behave as as normal meta-package
 currently does, and `emerge @kde-meta` would reference the same package
 as a set and could thereby trigger different behavior which is
 appropriate for a set.
 
 Ahh... that's rather clearer now.  Somehow I missed that bit before.
 
 However, it seems to me we'd have some of the same types of issues we've 
 previously discussed over the distinction between world and @world.  It's 
 going to be virtually impossible to get some users to see the difference, 
 with the consequence being that they use the wrong reference (probably 
 skipping the @ as unnecessary typing) and end up with (to them) 
 completely unexpected behaviour.  How long have we been drilling into 
 users' heads that they need to use --pretend (or --ask) --verbose to 
 check that what they intend is really what's going to happen?  Yet I just 
 dealt with a case the other day where someone ended up with something 
 entirely (to them) unexpected, because they failed to preview what was 
 going to happen, first.

I'm not suggesting that the ebuild and the package set necessarily
need to have the same name. What I'm suggesting is that we use a
configuration file, distributed with the ebuild repository, to map
set names to ebuilds. This mapping would make the set name
independent from the ebuild name.

 Going out of our way to (effectively) make things even /more/ confusing 
 by deliberately creating set-packages that can be referred to as either, 
 with different behavior in each case, would seem to be the equivalent of 
 deliberately setting traps for those poor users.  (Yes, they /should/ 
 know the difference and it's a PEBCAK if they don't/won't, but 
 unfortunately that PEBCAK is/can-safely-be-predicted-to-be rather 
 common...)
 
 So sure, we can institute it as suggested, damn the torpedos, but I 
 believe it's safely predictable that come a few months hence, after we've 
 dealt with our tenth person to end up screwing their system as a result, 
 we're going to rue the day...  Never-the-less, it's not my decision.
 

I don't expect users to have much trouble with this concept, and
they don't even have to use sets unless they want to make use of the
additional features that sets provide.
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkjgeEkACgkQ/ejvha5XGaOObQCghFkrhJiTVXAerwJXRbKJxk7R
yKsAmgIWp1VAA2glNuQ+pa6U8OjnYszq
=HzsM
-END PGP SIGNATURE-



[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-09-29 Thread Duncan
Zac Medico [EMAIL PROTECTED] posted [EMAIL PROTECTED],
excerpted below, on  Sun, 28 Sep 2008 23:40:10 -0700:

 I'm not suggesting that the ebuild and the package set necessarily need
 to have the same name. What I'm suggesting is that we use a
 configuration file, distributed with the ebuild repository, to map set
 names to ebuilds. This mapping would make the set name independent from
 the ebuild name.

That should work... and it could be as simple as the ebuild name, plus 
-set, so for example kde-meta and @kde-meta-set.  If users mess /that/ 
up... is there any hope for them?

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman




[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-09-29 Thread Steve Long
Zac Medico wrote:

 Rémi Cardona wrote:
 Zac Medico a écrit :
 Please consider a PROPERTIES=set value that allows an ebuild to
 indicate that it should behave like a package set when selected on
 the command line. This is behavior is somewhat difficult to describe
 in words but the following example should be sufficient to convey
 the general idea.
 
 As one of the maintainers of the gnome-base/gnome meta, I fail to see
 the usefulness of such a change. We have yet to ask users to rebuild
 gnome completely. Do you have any specific use cases (maybe coming
 from the KDE herd, since you used the kde meta as an example) ?
 
 The one thing that bothers me about this is consistency: if, say, xfce
 (let's change ;) ) decides to use PROPERTIES=set, users will have a
 different experience with their ebuild than with the other metas we
 currently ship.

Only when they consciously use the set syntax, surely?
 
 All in all, I'm not really against such a change, however I really fail
 to see the win for everyone, end-users included.
 
 Over the course of the discussion I've revised the idea so that it
 essentially represents a way to define a package set, without any
 changes to existing behavior. What will change is that we will have
 a new way to define package sets, based on ebuilds.

Makes sense to me, though not sure you need the mapping file. I'm perfectly
happy about emerge -uDN @kde-meta say, updating all kde-meta packages I
might have installed; I take it that after emerge kde-meta to install, and
then removing some of the packages, the user could continue to reference
the set for upgrade, without portage reinstalling those?





Re: [gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-09-29 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Steve Long wrote:
 Zac Medico wrote:
 
 Rémi Cardona wrote:
 Zac Medico a écrit :
 Please consider a PROPERTIES=set value that allows an ebuild to
 indicate that it should behave like a package set when selected on
 the command line. This is behavior is somewhat difficult to describe
 in words but the following example should be sufficient to convey
 the general idea.
 As one of the maintainers of the gnome-base/gnome meta, I fail to see
 the usefulness of such a change. We have yet to ask users to rebuild
 gnome completely. Do you have any specific use cases (maybe coming
 from the KDE herd, since you used the kde meta as an example) ?

 The one thing that bothers me about this is consistency: if, say, xfce
 (let's change ;) ) decides to use PROPERTIES=set, users will have a
 different experience with their ebuild than with the other metas we
 currently ship.

 Only when they consciously use the set syntax, surely?

Right.

 All in all, I'm not really against such a change, however I really fail
 to see the win for everyone, end-users included.
 Over the course of the discussion I've revised the idea so that it
 essentially represents a way to define a package set, without any
 changes to existing behavior. What will change is that we will have
 a new way to define package sets, based on ebuilds.
 
 Makes sense to me, though not sure you need the mapping file. I'm perfectly
 happy about emerge -uDN @kde-meta say, updating all kde-meta packages I
 might have installed; I take it that after emerge kde-meta to install, and
 then removing some of the packages, the user could continue to reference
 the set for upgrade, without portage reinstalling those?

That would be a set subtraction operation, so the user would use a
configuration file to configure the set so that certain unwanted
atoms are automatically subtracted out. Alternatively, we could
implement a syntax extension for optional atoms that are only
pulled into the dependency graph if they happen to be installed already.

- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkjhOnQACgkQ/ejvha5XGaMj1QCfRzl74HWG/s4nuf7pqIiZ8sEt
77IAn18mFmdmc3JCOJil2S1NPJcEe1wX
=M2k9
-END PGP SIGNATURE-



[gentoo-dev] Re: [RFC] PROPERTIES=set for meta-packages that should behave like package sets

2008-09-28 Thread Duncan
Zac Medico [EMAIL PROTECTED] posted [EMAIL PROTECTED],
excerpted below, on  Sun, 28 Sep 2008 15:56:27 -0700:

 For example, `emerge kde-meta` would behave as as normal meta-package
 currently does, and `emerge @kde-meta` would reference the same package
 as a set and could thereby trigger different behavior which is
 appropriate for a set.

Ahh... that's rather clearer now.  Somehow I missed that bit before.

However, it seems to me we'd have some of the same types of issues we've 
previously discussed over the distinction between world and @world.  It's 
going to be virtually impossible to get some users to see the difference, 
with the consequence being that they use the wrong reference (probably 
skipping the @ as unnecessary typing) and end up with (to them) 
completely unexpected behaviour.  How long have we been drilling into 
users' heads that they need to use --pretend (or --ask) --verbose to 
check that what they intend is really what's going to happen?  Yet I just 
dealt with a case the other day where someone ended up with something 
entirely (to them) unexpected, because they failed to preview what was 
going to happen, first.

Going out of our way to (effectively) make things even /more/ confusing 
by deliberately creating set-packages that can be referred to as either, 
with different behavior in each case, would seem to be the equivalent of 
deliberately setting traps for those poor users.  (Yes, they /should/ 
know the difference and it's a PEBCAK if they don't/won't, but 
unfortunately that PEBCAK is/can-safely-be-predicted-to-be rather 
common...)

So sure, we can institute it as suggested, damn the torpedos, but I 
believe it's safely predictable that come a few months hence, after we've 
dealt with our tenth person to end up screwing their system as a result, 
we're going to rue the day...  Never-the-less, it's not my decision.

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman