[gentoo-dev] Re: Sets vs Meta ebuilds

2017-07-07 Thread Michael Palimaka
On 07/08/2017 02:48 AM, NP-Hardass wrote:
> On 07/07/2017 12:32 PM, William L. Thomson Jr. wrote:
>> I have been playing with some package sets and I like the concept of
>> sets quite a lot. However there is one big drawback. You cannot use a
>> package set in a profile. Or at least I do not think you can. I have
>> looked into it a bit and does not seem like it is possible.
>>
>> I know I can create a meta ebuild and use it like a package set. I
>> think it would be useful to have package sets be able to be used in a
>> profile like meta ebuilds. It would likely reduce the need or use of
>> meta packages. Not sure if there is any benefit to that approach over a
>> set.
>>
>> I think sets have benefits over meta packages. This was the most
>> comprehensive document on sets, benefits, uses, etc. Other than the
>> general docs on the wiki.
>> https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/
>>
>> I  would really like to be able to use package sets in profiles. I
>> think of use and benefit to others as well.
>>
> 
> There is actually a huge functional difference between the two that you
> are missing here.  A meta package defines its dependencies in full
> dependency syntax.  This means you can specify versions, USE flag
> dependencies, make packages dependent on USE flags, etc.  A package set
> is just a list of packages (potentially constrained by version.  TTBOMK,
> there is no inclusion of any USE flag functionality in sets.
> Additionally, let's say you have a more complicated dependency like || (
> A B ),  I don't think there is a way to describe that in a package set
> at all.

Bug #272488[0] proposed a PROPERTIES="set" feature to combine the power
of sets with the flexibility of ebuilds.

1: https://bugs.gentoo.org/show_bug.cgi?id=272488




Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread William L. Thomson Jr.
On Fri, 7 Jul 2017 21:43:14 +0100
Ciaran McCreesh  wrote:

> On Fri, 7 Jul 2017 21:38:31 +0100
> James Le Cuirot  wrote:
> > On Fri, 7 Jul 2017 12:48:04 -0400
> > NP-Hardass  wrote:  
> > > There is actually a huge functional difference between the two
> > > that you are missing here.  A meta package defines its
> > > dependencies in full dependency syntax.  This means you can
> > > specify versions, USE flag dependencies, make packages dependent
> > > on USE flags, etc.  A package set is just a list of packages
> > > (potentially constrained by version.  TTBOMK, there is no
> > > inclusion of any USE flag functionality in sets. Additionally,
> > > let's say you have a more complicated dependency like || ( A B
> > > ),  I don't think there is a way to describe that in a package
> > > set at all.
> > 
> > Actually you can specify basic USE dependencies in sets. You can
> > also specify SLOTs. For example, this is valid.
> > 
> > media-libs/tiff:3[abi_x86_32,jpeg,zlib,-cxx]  
> 
> And this is one of many reasons "sets in profiles" isn't going to
> work: we don't really know what most of this stuff means...

Just have to avoid using such features if a set is to be used in a
profile. Gentoo developers have control over profiles, and ideally
these sets as well. Short of some user created ones. Thus most issues
of that nature should be easily preventable.

My main interest is in being able to use a package set in a profile.
While retaining that set on its own for rebuild and other purposes.
Someone may want to use said set, but not a given profile using the set.

Having sets being usable in profiles gives you the best of both.

-- 
William L. Thomson Jr.


pgpb6BTYnmChX.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread Ciaran McCreesh
On Fri, 7 Jul 2017 21:38:31 +0100
James Le Cuirot  wrote:
> On Fri, 7 Jul 2017 12:48:04 -0400
> NP-Hardass  wrote:
> > There is actually a huge functional difference between the two that
> > you are missing here.  A meta package defines its dependencies in
> > full dependency syntax.  This means you can specify versions, USE
> > flag dependencies, make packages dependent on USE flags, etc.  A
> > package set is just a list of packages (potentially constrained by
> > version.  TTBOMK, there is no inclusion of any USE flag
> > functionality in sets. Additionally, let's say you have a more
> > complicated dependency like || ( A B ),  I don't think there is a
> > way to describe that in a package set at all.  
> 
> Actually you can specify basic USE dependencies in sets. You can also
> specify SLOTs. For example, this is valid.
> 
> media-libs/tiff:3[abi_x86_32,jpeg,zlib,-cxx]

And this is one of many reasons "sets in profiles" isn't going to work:
we don't really know what most of this stuff means...

-- 
Ciaran McCreesh



Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread NP-Hardass
On 07/07/2017 04:38 PM, James Le Cuirot wrote:
> On Fri, 7 Jul 2017 12:48:04 -0400
> NP-Hardass  wrote:
> 
>> There is actually a huge functional difference between the two that you
>> are missing here.  A meta package defines its dependencies in full
>> dependency syntax.  This means you can specify versions, USE flag
>> dependencies, make packages dependent on USE flags, etc.  A package set
>> is just a list of packages (potentially constrained by version.  TTBOMK,
>> there is no inclusion of any USE flag functionality in sets.
>> Additionally, let's say you have a more complicated dependency like || (
>> A B ),  I don't think there is a way to describe that in a package set
>> at all.
> 
> Actually you can specify basic USE dependencies in sets. You can also
> specify SLOTs. For example, this is valid.
> 
> media-libs/tiff:3[abi_x86_32,jpeg,zlib,-cxx]
> 

Didn't realize that.  Good to know.

-- 
NP-Hardass



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread James Le Cuirot
On Fri, 7 Jul 2017 12:48:04 -0400
NP-Hardass  wrote:

> There is actually a huge functional difference between the two that you
> are missing here.  A meta package defines its dependencies in full
> dependency syntax.  This means you can specify versions, USE flag
> dependencies, make packages dependent on USE flags, etc.  A package set
> is just a list of packages (potentially constrained by version.  TTBOMK,
> there is no inclusion of any USE flag functionality in sets.
> Additionally, let's say you have a more complicated dependency like || (
> A B ),  I don't think there is a way to describe that in a package set
> at all.

Actually you can specify basic USE dependencies in sets. You can also
specify SLOTs. For example, this is valid.

media-libs/tiff:3[abi_x86_32,jpeg,zlib,-cxx]

-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


pgpplbLJbE9bC.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread William L. Thomson Jr.
On Fri, 7 Jul 2017 13:31:52 -0400
NP-Hardass  wrote:

> On 07/07/2017 01:05 PM, William L. Thomson Jr. wrote:
> > On Fri, 7 Jul 2017 12:48:04 -0400
> > NP-Hardass  wrote:  
> >>
> Yeah, but I'm not wild about the prospect of handling some packages
> via one method, and others via another.  Could you imagine if half of
> your @system packages were broken up into subsets, and half were left
> as is? The lack of uniformity would unnecessarily complicate things
> IMO.

This is meant to be used at higher levels. Say you want a set of Gnome
packages on KDE, as an example. Or some set of packages of your own.

> Then why are we in a topic comparing metas and sets? :P  Sounds like
> the best thing is to change this whole topic into an RFC for
> profile-enabled sets and file a bug report feature requesting it
> after getting feedback.

Because they each have their use. But seems sets may be under-used.
This topic is more of a RFC and I may file a bug/feature request after.
Granted the topic/process might not have been ideal, but doing just
what you mentioned.
 
> This is two-tiered in both cases anyway, no?

No

> Meta:
> # Remove meta
> emerge --depclean meta
> # Remove all packages in the meta and their pulled in deps
> emerge --depclean
> Set:
> # Remove set
> emerge --depclean @set

That removes the set and any packages brought in, not just the set
packages. You do not need the --depclean to remove a package set.

> # clean up all deps pulled in from the set
> emerge --depclean

Same thing as previous command. Adding --depclean to sets gives you
that. As there is no deps on a set that are not in that set.

Either way you cannot re-emerge packages in a meta. Like rebuilding all
of those. At least not easily to my knowledge.

> > 
> > Sets do have their uses. I think they are not used much for a
> > variety of reasons, but likely could be used more.
> >   
> 
> Sure, but when the thread is "Sets vs Metas" it makes it hard to
> simply "make a case for using one more than currently" since instead,
> you are inviting a comparison argument, which, as I've said, I think
> fails to convince.  Like I said, if your goal is simply to propose
> enabling further use of sets, let's work on that, rather than get
> distracted with a whole separate issue.

They should be compared. Given their differences there is a time and
place to use either. Creating a profile for select packages is
overkill. I think even a meta package of the same is also over kill.
Which does not give you all the same abilities.

I see sets as being very useful in profiles. Meta packages not so much.
That depends on the profile and packages. I see lots of uses for sets
and little use of meta packages. My use of meta packages would be to
get around limitations of ability to use sets. Which is not ideal IMHO.

-- 
William L. Thomson Jr.


pgp9UFoEF0bdu.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread NP-Hardass
On 07/07/2017 01:05 PM, William L. Thomson Jr. wrote:
> On Fri, 7 Jul 2017 12:48:04 -0400
> NP-Hardass  wrote:
>>
>> There is actually a huge functional difference between the two that
>> you are missing here.  A meta package defines its dependencies in full
>> dependency syntax.  This means you can specify versions, USE flag
>> dependencies, make packages dependent on USE flags, etc.  A package
>> set is just a list of packages (potentially constrained by version.
>> TTBOMK, there is no inclusion of any USE flag functionality in sets.
>> Additionally, let's say you have a more complicated dependency like
>> || ( A B ),  I don't think there is a way to describe that in a
>> package set at all.
> 
> All valid points, but there maybe times when such is not needed.
> 
> You cannot really do any of that easily via a profile either. You just
> have packages file in a profile. You can use the other stuff, but I am
> talking about sets. Just as packages are listed in a packages file in a
> profile. Being able to list a package set, vs those same packages.
> There is no difference there.
> 

Yeah, but I'm not wild about the prospect of handling some packages via
one method, and others via another.  Could you imagine if half of your
@system packages were broken up into subsets, and half were left as is?
The lack of uniformity would unnecessarily complicate things IMO.

>> I'm not sure I see the merit in pushing for package sets in the bulk
>> of cases for this reason.  Maybe there is some scenario where package
>> sets are a better option, but you haven't enumerated what that might
>> be (and I'm not really interested in brainstorming until I come up
>> with one, so I'll wait for one frmo someone else)
> 
> Not sure I need to show a case example of where sets are better than
> meta packages. Its more I want to use sets and I would like to be able
> to include those package sets in a profile.
>  

Then why are we in a topic comparing metas and sets? :P  Sounds like the
best thing is to change this whole topic into an RFC for profile-enabled
sets and file a bug report feature requesting it after getting feedback.

>> Of course, my sets knowledge is a little limited compared to some
>> people, so if something I've said about package sets is incorrect,
>> please feel free to correct it.
> 
> You cannot remove all packages ( short of dep clean ) or re-emerge all
> packages from a meta ebuild easily. You can from a set.

This is two-tiered in both cases anyway, no?
Meta:
# Remove meta
emerge --depclean meta
# Remove all packages in the meta and their pulled in deps
emerge --depclean
Set:
# Remove set
emerge --depclean @set
# clean up all deps pulled in from the set
emerge --depclean

> 
> Sets do have their uses. I think they are not used much for a variety
> of reasons, but likely could be used more.
> 

Sure, but when the thread is "Sets vs Metas" it makes it hard to simply
"make a case for using one more than currently" since instead, you are
inviting a comparison argument, which, as I've said, I think fails to
convince.  Like I said, if your goal is simply to propose enabling
further use of sets, let's work on that, rather than get distracted with
a whole separate issue.

-- 
NP-Hardass



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread William L. Thomson Jr.
On Fri, 7 Jul 2017 12:57:17 -0400
Brian Evans  wrote:

> On 7/7/2017 12:32 PM, William L. Thomson Jr. wrote:
> 
> > I think sets have benefits over meta packages. This was the most
> > comprehensive document on sets, benefits, uses, etc. Other than the
> > general docs on the wiki.
> > https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/
> > 
> > I  would really like to be able to use package sets in profiles. I
> > think of use and benefit to others as well.
> >   
> 
> Beware of sets.. if you put toolchain packages in a set and later do
> 'emerge --unmerge @custom-set' , emerge will happily destroy your
> toolchain.

That is not much different than removing a system package directly. If
you do foolish things you will run into such problems. That would be a
self inflicted issue. Likely done out of not knowing what you are doing.

Though I will have to see what happens if a package is listed in more
than one set. I think there is a hierarchy there. Not to mention if it
was removed. I think the world or system set would pull it back in.

-- 
William L. Thomson Jr.


pgpF49FxZMPDD.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread William L. Thomson Jr.
On Fri, 7 Jul 2017 12:48:04 -0400
NP-Hardass  wrote:
> 
> There is actually a huge functional difference between the two that
> you are missing here.  A meta package defines its dependencies in full
> dependency syntax.  This means you can specify versions, USE flag
> dependencies, make packages dependent on USE flags, etc.  A package
> set is just a list of packages (potentially constrained by version.
> TTBOMK, there is no inclusion of any USE flag functionality in sets.
> Additionally, let's say you have a more complicated dependency like
> || ( A B ),  I don't think there is a way to describe that in a
> package set at all.

All valid points, but there maybe times when such is not needed.

You cannot really do any of that easily via a profile either. You just
have packages file in a profile. You can use the other stuff, but I am
talking about sets. Just as packages are listed in a packages file in a
profile. Being able to list a package set, vs those same packages.
There is no difference there.

> I'm not sure I see the merit in pushing for package sets in the bulk
> of cases for this reason.  Maybe there is some scenario where package
> sets are a better option, but you haven't enumerated what that might
> be (and I'm not really interested in brainstorming until I come up
> with one, so I'll wait for one frmo someone else)

Not sure I need to show a case example of where sets are better than
meta packages. Its more I want to use sets and I would like to be able
to include those package sets in a profile.
 
> Of course, my sets knowledge is a little limited compared to some
> people, so if something I've said about package sets is incorrect,
> please feel free to correct it.

You cannot remove all packages ( short of dep clean ) or re-emerge all
packages from a meta ebuild easily. You can from a set.

Sets do have their uses. I think they are not used much for a variety
of reasons, but likely could be used more.

-- 
William L. Thomson Jr.


pgpDmJSAHVTYl.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread Brian Evans
On 7/7/2017 12:57 PM, Brian Evans wrote:
> On 7/7/2017 12:32 PM, William L. Thomson Jr. wrote:
> 
>> I think sets have benefits over meta packages. This was the most
>> comprehensive document on sets, benefits, uses, etc. Other than the
>> general docs on the wiki.
>> https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/
>>
>> I  would really like to be able to use package sets in profiles. I
>> think of use and benefit to others as well.
>>
> 
> Beware of sets.. if you put toolchain packages in a set and later do
> 'emerge --unmerge @custom-set' , emerge will happily destroy your toolchain.
> 
> Brian
> 

or worse dev-lang/python

Brian



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread Brian Evans
On 7/7/2017 12:32 PM, William L. Thomson Jr. wrote:

> I think sets have benefits over meta packages. This was the most
> comprehensive document on sets, benefits, uses, etc. Other than the
> general docs on the wiki.
> https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/
> 
> I  would really like to be able to use package sets in profiles. I
> think of use and benefit to others as well.
> 

Beware of sets.. if you put toolchain packages in a set and later do
'emerge --unmerge @custom-set' , emerge will happily destroy your toolchain.

Brian



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread NP-Hardass
On 07/07/2017 12:32 PM, William L. Thomson Jr. wrote:
> I have been playing with some package sets and I like the concept of
> sets quite a lot. However there is one big drawback. You cannot use a
> package set in a profile. Or at least I do not think you can. I have
> looked into it a bit and does not seem like it is possible.
> 
> I know I can create a meta ebuild and use it like a package set. I
> think it would be useful to have package sets be able to be used in a
> profile like meta ebuilds. It would likely reduce the need or use of
> meta packages. Not sure if there is any benefit to that approach over a
> set.
> 
> I think sets have benefits over meta packages. This was the most
> comprehensive document on sets, benefits, uses, etc. Other than the
> general docs on the wiki.
> https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/
> 
> I  would really like to be able to use package sets in profiles. I
> think of use and benefit to others as well.
> 

There is actually a huge functional difference between the two that you
are missing here.  A meta package defines its dependencies in full
dependency syntax.  This means you can specify versions, USE flag
dependencies, make packages dependent on USE flags, etc.  A package set
is just a list of packages (potentially constrained by version.  TTBOMK,
there is no inclusion of any USE flag functionality in sets.
Additionally, let's say you have a more complicated dependency like || (
A B ),  I don't think there is a way to describe that in a package set
at all.

I'm not sure I see the merit in pushing for package sets in the bulk of
cases for this reason.  Maybe there is some scenario where package sets
are a better option, but you haven't enumerated what that might be (and
I'm not really interested in brainstorming until I come up with one, so
I'll wait for one frmo someone else)

Of course, my sets knowledge is a little limited compared to some
people, so if something I've said about package sets is incorrect,
please feel free to correct it.

-- 
NP-Hardass



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread William L. Thomson Jr.
On Fri, 7 Jul 2017 12:36:16 -0400
Lucas Ramage  wrote:

> Is that your blog?

No it is not my blog. I do not have a blog. I have no idea about the
blog owner/author. Google brought me there via some search. Not sure it
was even regarding sets as I had no idea about them till I came across
that blog post. But sets seem pretty nifty. I liked them till I tried
using one in a profile.

-- 
William L. Thomson Jr.


pgpD1D0rSunhu.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread Lucas Ramage
Is that your blog?

On Fri, Jul 7, 2017 at 12:32 PM, William L. Thomson Jr. 
wrote:

> I have been playing with some package sets and I like the concept of
> sets quite a lot. However there is one big drawback. You cannot use a
> package set in a profile. Or at least I do not think you can. I have
> looked into it a bit and does not seem like it is possible.
>
> I know I can create a meta ebuild and use it like a package set. I
> think it would be useful to have package sets be able to be used in a
> profile like meta ebuilds. It would likely reduce the need or use of
> meta packages. Not sure if there is any benefit to that approach over a
> set.
>
> I think sets have benefits over meta packages. This was the most
> comprehensive document on sets, benefits, uses, etc. Other than the
> general docs on the wiki.
> https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/
>
> I  would really like to be able to use package sets in profiles. I
> think of use and benefit to others as well.
>
> --
> William L. Thomson Jr.
>



-- 

Regards,

[image: View my Portfolio] 

Lucas Ramage / Software Engineer
ramage.luca...@gmail.com / (941)-467-2354

Visit online journal
lramage94.github.io

[image: Google Plus]  [image:
Linkedin] 


[gentoo-dev] Sets vs Meta ebuilds

2017-07-07 Thread William L. Thomson Jr.
I have been playing with some package sets and I like the concept of
sets quite a lot. However there is one big drawback. You cannot use a
package set in a profile. Or at least I do not think you can. I have
looked into it a bit and does not seem like it is possible.

I know I can create a meta ebuild and use it like a package set. I
think it would be useful to have package sets be able to be used in a
profile like meta ebuilds. It would likely reduce the need or use of
meta packages. Not sure if there is any benefit to that approach over a
set.

I think sets have benefits over meta packages. This was the most
comprehensive document on sets, benefits, uses, etc. Other than the
general docs on the wiki.
https://makuro.wordpress.com/2010/12/12/intro-to-portage-sets/

I  would really like to be able to use package sets in profiles. I
think of use and benefit to others as well.

-- 
William L. Thomson Jr.


pgpIneSWJ429G.pgp
Description: OpenPGP digital signature