Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Ideas for Portage:/profiles [ANSWERED]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Oct 17, 2024 12:38 pm    Post subject: Ideas for Portage:/profiles [ANSWERED] Reply with quote

This is to some extents continue of this topic thread. I open this new because what I want to discuses is not direct related to that topic subject.

I am hoping ideas gathered here one day can be include into Gentoo.

The reason I think we need this is because current ::gentoo:/profiles area is not a well known. other than ebuild developer not to many user care of understand what profile can do or cause.

So let me introduce my first idea, It is more of concept than specific way of doing thing. I am thinking "constrain". What I mean is that current Gentoo is defined as rolling release and things change every days/hours. This is great and we have been enjoy this freedom for long time. However in the event that related to the qt6/wayland changes, I start wonder if it could be good to have way to keep static for a defined time frame so user have choice. Should one wish to move in slower pace than current Gentoo speed they have way to do so.

I need to step out for a bit. I just want to throw it out for your thoughts for now. I will come back later to complete/explain what I have in mind.

Thank you for your attention!

Edit: subject line. (I realize ::gentoo is too specific for Gentoo developer team. Switch to Portage for the software in general)


Last edited by pingtoo on Sat Oct 19, 2024 6:40 am; edited 1 time in total
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Oct 17, 2024 1:45 pm    Post subject: Reply with quote

Continue from my previous post.

I understood that /etc/profile can serve the purpose (constrain) to some degree. However my idea is to come up a mechanism like ::gentoo:/profiles such that is can be distributed, not limit to just on per machine basis.

In my wild thinking using profile constrain concept one can create a debian profile that mimic the real debian distributions or redhat profile for Redhat derivative.

Another idea of using profile naming is mark a "milestone"? (if "version" is not a good description). I imagine if the qt6/wayland disagreement portrait in the other thread would have landed in a "milestone" it would have reduce (or eliminate) the entire "discussion".

What else can we use profile for?

Do you think profile should carry a overlay indicator? like the way ebuild have version/slot/overlay.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20484

PostPosted: Sat Oct 19, 2024 4:00 am    Post subject: Reply with quote

In the referenced thread, asturm posted a link to the Gentoo wiki Profile document. You really should read it, carefully.
https://wiki.gentoo.org/wiki/Profile_%28Portage%29

Once you understand the basics, regarding your ideas, pay attention to these sections of that document:

4 Profiles for developers and power users
4.2 Combining profiles
4.3 Creating custom profiles

In case that document doesn't mention it, the normal profiles typically used are within the ::gentoo ebuild repository. Specifically (by default) at /var/db/repos/gentoo/profiles/.

If you create an overlay, it may also have profiles. For example, I have the pentoo overlay available (the "default" profiles are from ::gentoo:
Code:
$ eselect profile list |tail
  [74]  default/linux/amd64/23.0/split-usr/musl/llvm (exp)
  [75]  default/linux/amd64/23.0/split-usr/musl/hardened (exp)
  [76]  default/linux/amd64/23.0/split-usr/musl/hardened/selinux (exp)
  [77]  pentoo:pentoo/hardened/linux/amd64_r1 (stable)
  [78]  pentoo:pentoo/hardened/linux/amd64_r1/binary (stable)
  [79]  pentoo:pentoo/hardened/linux/amd64_r1/bleeding_edge (dev)
  [80]  pentoo:pentoo/hardened/linux/amd64/23.0/split-usr/ (exp)
  [81]  pentoo:pentoo/hardened/linux/amd64/23.0/split-usr/bleeding_edge (exp)
  [82]  pentoo:pentoo/hardened/linux/amd64/23.0/ (exp)
  [83]  pentoo:pentoo/hardened/linux/amd64/23.0/bleeding_edge (exp)
So whether or not you can create a "constrain"ed profile has more to do with the ability (time and people resources) to maintain ebuilds that follow the requirements set by the "constrain"t.

It isn't simply about a profile not having qt6 or wayland in them. The ebuilds will also need to support the rolling release versions that necessarily add those USE flags.

Or, you have to maintain extra ebuilds, such as foo-5.9[qt5] and foo-6.1[qt6]. And when qt5 is dropped, a forced profile updated would be required.

To summarize: It is neither as easy nor as simple as it may first appear.


For the record, I'm in favor of some sort of "slower" release cycle and at one time had hoped to see the following become available:
GLEP 19: Gentoo Stable Portage Tree
https://www.gentoo.org/glep/glep-0019.html
(proposed in 2004, eventually withdrawn)
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 359

PostPosted: Sat Oct 19, 2024 4:30 am    Post subject: Reply with quote

@pingtoo
I'm unsure if your insistence on qt6 coming with a new profile should be taken as an example, or if "a qt6 profile" is a specific point to be addressed.
Either way, profile migration from 17.1 to 23.0 was done because the compilers were reconfigured to use RELRO and BIND_NOW by default.
From 13.0 to 17.0 it was Position Independent Code.
Those are changes that affect almost everyone. At the very least everyone not already on a hardened profile.
By contrast, I couldn't care less what is happening with Qt libraries/applications - I have none on my system.

My point is that new profiles are introduced very sparingly and carefully.
A new profile every time Qt has a major release would be a lot more busywork for users.
Where do we draw the line? Do new python versions deserve new profiles? Do new perl or ruby versions deserve new profiles?
The sys-kernel/gentoo-kernel has recently started depending on perl during build. Is that worthy of a new profile?

Personally, I like the conservative approach that is employed currently.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Sat Oct 19, 2024 6:39 am    Post subject: Reply with quote

To bstaletic, pjp

Thank you very much for respond to my idea. I really appreciate both of you got my point about the concept of constraint and a good profile evolution history.

To some degree I understand the concept of Combining profiles. May that minimal understanding lead to thinking create additional profile is simple procedure (and now I understand is NOT EASY task in term of promotion)

I have seen a few 3rd party overlays (I currently don't use any) I am not aware anybody actually create their own profiles in that 3rd party overlay.

So it is relative speaking easy to distribute a private (or public) constrained profile using overlay method.

I see from @pjp's profile evolution history that profile changes were on mostly compiler changes which affect most packages (except script language based) as well on the base-layout decision.

So as far as my concern current Portage Implementation can satisfy my idea of create constrained profile.

However I wish to hear more about what other thing deserve a profile.Because I still think profile gave choice (not just features) and Gentoo is about having freedom to choose.

Too bad at this point I am no longer can make this topic/thread a poll. I wish to have hypothetically question for every one.

If I start an overlay that will create quatally (or seasonal) for ::gentoo will you joint me to maintain the overlay?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20484

PostPosted: Thu Oct 24, 2024 7:08 am    Post subject: Reply with quote

pingtoo wrote:
However I wish to hear more about what other thing deserve a profile.Because I still think profile gave choice (not just features) and Gentoo is about having freedom to choose.
To clarify, my point was that if you understood how profiles worked and could create your own, you'd better understand what "other thing deserve a profile."

I don't understand profiles all that well, but I believe what a profile controls is fairly limited and trying to expand that may require changes to Portage.


pingtoo wrote:
If I start an overlay that will create quatally (or seasonal) for ::gentoo will you joint me to maintain the overlay?
To quote a movie I've never seen: Build it and they will come. (or they won't) ;).

Don't ask permission, just do it.

If it is valuable to you, it may be valuable to others. It will a lot easier for others to gain interest in using and / or supporting a profile if they know what it is. Based on posts from other threads, the profile I'd expect you to make is not one I could use. I avoid qt like a plague and allow wayland (because some day, I'll probably try it again).


I stick with stable (mostly) ::gentoo because I'm not interested in creating more problems that I have to fix. I only have ::pentoo for the kernel checking tool which has been in ::gentoo for a long time -- I should disable and remove it since I don't use it.

I've come to perceive faffing about with operating systems to be relic of the past, but there don't seem to be any suited for that kind of use. And certainly none that can be trusted.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Oct 24, 2024 3:14 pm    Post subject: Reply with quote

pjp,

Thank you very much for you points.

English is not my first language, so my understanding of the word "profile" may be wrong. I am thinking "profile" refer to a "type" or "kind" in a sense that umbrella can have many colours, like red, black and so on. So I would say red coloured umbrella have red profile. because there could be different shape red coloured umbrella.

That is why I wish to know what other "thing" deserve a profile, for example we know currently Gentoo have "desktop" as profile. So I wonder should there be a "router" profile? A "NAS" profile?

So I guess what I mean "profile" as in the targeted usage? But can there be other kind of target? for example "time" is it a good target?

I guess asking other to "join" is wrong way to express my desire. I think what I want is too see if any one else share my idea of using "profile" as way to control/identify is good way to do something. I think may be "brainstorm" is right word. I like hear some one can point out may be this is wrong idea or this is an idea deserved more discussion.

Edit.

After I finish above and thought about it, I think I ask "join" also because I do wish someone genuinely want, not just simple talk. I am assume because one willing to put in the effort it mean they truly believe the idea is good enough for them.

For now I will settle for talk. because only discussion will help define right/wrong and/or boundaries.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20484

PostPosted: Thu Oct 24, 2024 3:42 pm    Post subject: Reply with quote

For the general use of the word profile, a "red umbrella" is fine.

However, within Portage, the use of profile has a very specific meaning.

For a router or NAS, a Portage "set" may be the better solution. But perhaps there are USE flags that could be modified from the base profile to create your ideal for those solutions. Create them and find out.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1685
Location: South America

PostPosted: Thu Oct 24, 2024 5:28 pm    Post subject: Reply with quote

pingtoo wrote:
However I wish to hear more about what other thing deserve a profile.Because I still think profile gave choice (not just features) and Gentoo is about having freedom to choose.

Too bad at this point I am no longer can make this topic/thread a poll. I wish to have hypothetically question for every one.

Well, since you asked... :)

To be completely honest, I read several of your posts, and still have no idea what aspect of Gentoo you are addressing, and how exactly it relates to profiles. As pjp said, "profile" in Gentoo has a very specific meaning, defined in section 5 of the Package Manager Specification. I waited to see if you were going to make a specific proposal, to have a better understanding, and so far I haven't found a concrete one either.

In general, I agree with bstaletic's post. Contrary to you, apparently, I do think that "rolling release" really does mean "anything can change at any time", although I expect "change" to generally mean "accomodate recent versions of packaged software so that it works well with the rest of the operating system".

I see mentions to the recent changes in default state of qt6 and wayland USE flags in desktop profiles. And as I said in the other thread, I fail to see the importance that other users seem to give to these changes.

As far as I can tell, changes to the wayland USE flag simply enable Wayland code in libraries by default. Whether a computer is using Wayland, X11 or none is still a users' choice: you configure the computer to start a Wayland compositor and a bunch of Wayland clients, or you configure the computer to start Xorg and a bunch of X11 clients, including a window manager, or you configure the computer to not start anything, and interact with it through the TUI provided by a kernel virtual terminal.

The qt6 USE flag change seems even less important, which libraries a program links to is an implementation detail under the control of the program's author, not the user. The choice available to users is whether they want use the program, or not. Well, that's actually a simplification, but I think you can get the idea.

And on top of that, USE flag state is easily overridable by the user.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Oct 24, 2024 6:47 pm    Post subject: Reply with quote

GDH-gentoo wrote:
pingtoo wrote:
However I wish to hear more about what other thing deserve a profile.Because I still think profile gave choice (not just features) and Gentoo is about having freedom to choose.

Too bad at this point I am no longer can make this topic/thread a poll. I wish to have hypothetically question for every one.

Well, since you asked... :)


Thank you for join this conversation.

Quote:
To be completely honest, I read several of your posts, and still have no idea what aspect of Gentoo you are addressing, and how exactly it relates to profiles. As pjp said, "profile" in Gentoo has a very specific meaning, defined in section 5 of the Package Manager Specification. I waited to see if you were going to make a specific proposal, to have a better understanding, and so far I haven't found a concrete one either.
I am glad you saw my other posts and formed a general idea of what I was talking. I am not sure what do you mean by "concrete one". I mention something about "route"/"NAS" profile in my previous post. I gather you think they are not "concrete" as in there is no detail.
And yes at this point I have no detail on what exact is. I just want to start a conversation to see if any one interesting the idea or disagree in the idea.

Quote:
In general, I agree with bstaletic's post. Contrary to you, apparently, I do think that "rolling release" really does mean "anything can change at any time", although I expect "change" to generally mean "accomodate recent versions of packaged software so that it works well with the rest of the operating system".
I never dispute the "rolling" property of Gentoo and myself kind of like it too. Except I wish to have a user controlled option instead things just happen. You might said it is already user controlled, it is already up to the user "when" to execute the emerge command. What I am saying is the having a point of time reference everyone share could be good. At lease reduce some exchanges for what was the intention of doing something.

Quote:
I see mentions to the recent changes in default state of qt6 and wayland USE flags in desktop profiles. And as I said in the other thread, I fail to see the importance that other users seem to give to these changes.

As far as I can tell, changes to the wayland USE flag simply enable Wayland code in libraries by default. Whether a computer is using Wayland, X11 or none is still a users' choice: you configure the computer to start a Wayland compositor and a bunch of Wayland clients, or you configure the computer to start Xorg and a bunch of X11 clients, including a window manager, or you configure the computer to not start anything, and interact with it through the TUI provided by a kernel virtual terminal.

The qt6 USE flag change seems even less important, which libraries a program links to is an implementation detail under the control of the program's author, not the user. The choice available to users is whether they want use the program, or not. Well, that's actually a simplification, but I think you can get the idea.

And on top of that, USE flag state is easily overridable by the user.
May be it is because my initial post that lack of point that lead you to thinking my past posts is about the changes. But allow me to clarify I have never object to the changes. At past time of my posts, I was object lack of notice.

I have since then, found in fact there is notice and have state my incorrectness and apologise to asturm and general Gentoo developer team,

Quote:
"profile" in Gentoo has a very specific meaning, defined in section 5 of the Package Manager Specification.
Understood and accept as fact. However I am suggesting "may be" start making it toward to a more generate term. So someone with English understanding but not necessary live in Gentoo community have right expectation. I am sure you are aware someone with wrong expectation will lead to many wrong assumption then lead to mistakes.
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 214

PostPosted: Mon Oct 28, 2024 1:50 am    Post subject: Reply with quote

https://www.funtoo.org/Funtoo_Profiles

Funtoo has an interesting take on this entire profiles topic, which if I understand correctly, amounts to:

Funtoo doesn't.

Have them, that is.

Instead, Funtoo has "mixins", and you configure your system via an interactive tool to select which feature mixins you want to use, such as "X / Wayland / gnome / KDE / desktop / server / hardened / print".

Actually, under the hood this is still all just portage profiles, but it's their equivalent of "eselect profile set" that actually builds a new profile on the fly for you. It simply provides a nicer interface for them as opposed to the current one in the ::gentoo tree. It makes use of a fundamental feature of portage profiles, which is that they can inherit each other -- but as of today, Gentoo mainly uses this for internal organization reasons and code sharing, and "eselect profile list" only shows a list of pre-defined final profiles. You can build your own profiles, including making use of inheritance from the internal mixins that Gentoo provides, but it's a bit of "do it at your own risk" advanced knowledge.

Perhaps if it were easier for users to define their own ad-hoc profiles, they could have their personal profiles just inherit from "desktop & X".
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3413

PostPosted: Mon Oct 28, 2024 9:49 am    Post subject: Reply with quote

Quote:
Perhaps if it were easier for users to define their own ad-hoc profiles, they could have their personal profiles just inherit from "desktop & X".

They have a very different approach to USE flags though. While it is a pretty cool concept, I think doing for Gentoo in a sensible way would require completely redesigning profiles.

The way I understand it, Gentoo and Funtoo use profiles in a very different way, they allocate more pain to groups of people (communities interested in a certain topic working together to make sets of USE flags reliably working for everyone), and we deal with less pain alone (single-handedly flipping USE flags on a per-machine basis as we need in the moment).
We're doing the same things at different granularity levels; for them it makes sense to combine multiple chunks/mixins/whatevers into a single profile, for us USE in make.conf is a simple way of hammering an "almost there" profile into the "good for now" profile I will modify again when either my needs change or an update fails. Going the Funtoo way with Gentoo profiles would be just overengineering it.
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Mon Oct 28, 2024 2:45 pm    Post subject: Reply with quote

szatox, eschwartz,

Thank you for join this conversation.

I heard about Funtoo but never really learn any thing from them. I will surely check the link to learn more.

The "mixins" idea seems to be something I would interested.

I should try to investigate the different approach of USE flags. It is always nice to learn from a different angle.
Back to top
View user's profile Send private message
Leonardo.b
Guru
Guru


Joined: 10 Oct 2020
Posts: 308

PostPosted: Thu Nov 07, 2024 6:09 pm    Post subject: Reply with quote

Portage profiles does the very same thing of /etc/portage/* files.
They include the same files, where they set defaults and so on.
The only complication is inheritance, as profiles inherits each other and get a bit messy, but overall it's not so complicated.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Nov 07, 2024 7:04 pm    Post subject: Reply with quote

Leonardo.b,

Thank you for join and sharing.

From another thread I found someone did use a "packages" file in /etc/portage/profile/. So yes it is very much a private profile on the node.

However when I start out for this idea is that it may be good to have some way to share. In a sense if a group of people share same desire for a fixed "profile" and in such they accept the defined scope and limit of the "profile". My idea of such "profile" have defined scope and changes when scope change accepted by the group.

Back then I am not sure if this is possible. And now it looks like it is very possible from technical point of view.

Funtoo's "mixins" and the tool "ego" seems to match the need.

I plan later to try if "ego" is straight drop in to Gentoo Portage or some thing need to modify.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9262

PostPosted: Thu Nov 07, 2024 7:07 pm    Post subject: Reply with quote

pingtoo wrote:
Funtoo's "mixins" and the tool "ego" seems to match the need.

They do not unless you also freeze the ebuilds, as I repeatedly said in the other thread.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Nov 07, 2024 8:01 pm    Post subject: Reply with quote

asturm wrote:
pingtoo wrote:
Funtoo's "mixins" and the tool "ego" seems to match the need.

They do not unless you also freeze the ebuilds, as I repeatedly said in the other thread.


So profile is not enough, an overlay may help complete the idea?


Anyway,

Freeze may just be the idea. :)

Who's to say everything need to be always at latest. if I have one thing that I just want to do one job and all that I need is just get the job done. Once I found the thing I would prefer it stay that way. I can accept that thing may have evolved in to more function but my need did not change so may be I don't need those new functions therefor I don't want it change.

I appreciate challenge of status quo, but I think it is also good to have is having a choice when to take the challenge.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22612

PostPosted: Thu Nov 07, 2024 9:08 pm    Post subject: Reply with quote

If you don't want changes, then you could just not run emerge --sync or not run emerge --update --deep options @world. For systems that are kept frozen in time, this is a very simple and effective way to avoid changes. If you want some changes, you may be forced to take others, due to limitations in compatibility between what you want to change and what you want to leave unchanged.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1232
Location: Richmond Hill, Canada

PostPosted: Thu Nov 07, 2024 9:41 pm    Post subject: Reply with quote

Hu wrote:
If you don't want changes, then you could just not run emerge --sync or not run emerge --update --deep options @world. For systems that are kept frozen in time, this is a very simple and effective way to avoid changes. If you want some changes, you may be forced to take others, due to limitations in compatibility between what you want to change and what you want to leave unchanged.


I agree this is one way of doing it. (In fact that is my current practice)

The idea here I want to discuss is can we have another way beside not sync or not run emerge. but a more controlled way. for example say a serious security thread discovered in my current "limited scope" profile. my first choose would be stay on same version of ebuilds and just get a different -rX for example, when -rX is not possible (for example upstream only fix in different version) then my profile may also have a updated release version that incorporate the newer version with all of other forced on implication. And hopefully a team that agree with this idea can test it out then promote the new profile release.

Profile release is not limited to security thread. it is possible to be predefined in the profile scope that may be in scope ebuilds will get update for example twice a year if that is desired. (come to think of it, this may better help current Gentoo binary release)

I think my idea is different from current Gentoo is having predefined limited scope as oppose to current Gentoo is per user define their own scope.

You see if you use your computer as tool to help you do what you like/must do. You really would not like to have to deal with a interrupt because software version changes that you may or may not need.

Please don't get me wrong, if you choose to use your computer keep trick of latest changes and this also feet my above definition of do what like/must do, because that *is* your choice. I am just here also discuss if anybody else would like to have my idea of having limited/controlled scope.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum