View previous topic :: View next topic |
Author |
Message |
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Oct 17, 2024 12:38 pm Post subject: Ideas for Portage:/profiles [ANSWERED] |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Oct 17, 2024 1:45 pm Post subject: |
|
|
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 |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20521
|
Posted: Sat Oct 19, 2024 4:00 am Post subject: |
|
|
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 |
|
|
bstaletic Guru
Joined: 05 Apr 2014 Posts: 407
|
Posted: Sat Oct 19, 2024 4:30 am Post subject: |
|
|
@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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Sat Oct 19, 2024 6:39 am Post subject: |
|
|
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 |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20521
|
Posted: Thu Oct 24, 2024 7:08 am Post subject: |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Oct 24, 2024 3:14 pm Post subject: |
|
|
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 |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20521
|
Posted: Thu Oct 24, 2024 3:42 pm Post subject: |
|
|
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 |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1777 Location: South America
|
Posted: Thu Oct 24, 2024 5:28 pm Post subject: |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Oct 24, 2024 6:47 pm Post subject: |
|
|
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 |
|
|
eschwartz Developer
Joined: 29 Oct 2023 Posts: 240
|
Posted: Mon Oct 28, 2024 1:50 am Post subject: |
|
|
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 |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Mon Oct 28, 2024 9:49 am Post subject: |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Mon Oct 28, 2024 2:45 pm Post subject: |
|
|
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 |
|
|
Leonardo.b Guru
Joined: 10 Oct 2020 Posts: 308
|
Posted: Thu Nov 07, 2024 6:09 pm Post subject: |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Nov 07, 2024 7:04 pm Post subject: |
|
|
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 |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9320
|
Posted: Thu Nov 07, 2024 7:07 pm Post subject: |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Nov 07, 2024 8:01 pm Post subject: |
|
|
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 |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22867
|
Posted: Thu Nov 07, 2024 9:08 pm Post subject: |
|
|
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 |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Nov 07, 2024 9:41 pm Post subject: |
|
|
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 |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Thu Nov 07, 2024 10:28 pm Post subject: |
|
|
Quote: | 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. | You already mentioned overlays.
Each overlay defined in your system is defined with a priority. Honestly I haven't really played with it much, but it would be really dumb if an ebuild could be pulled from a low-prio overlay just because it's a higher version than the one from preferred.
Therefore: you should be able to do both, distribute your profile and reliably freeze relevant ebuilds with a single overlay (as long as it's the highest priority, so nothing overrides it)
Does it actually work like that? I don't know. But it does feels like the most natural way to implement it within the current framework, so it's at least worth a shot. _________________ Make Computing Fun Again |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Thu Nov 07, 2024 11:07 pm Post subject: |
|
|
I agree. The distribution method most likely will be using overlay.
I imagine however the overlay initially will only have profile(s) + use + mask + unmask. additional ebuild(s) get populate into overlay when current Portage tree ebuild moved out of scope of the defined profile scope.
For example a profile scope include semi-annually range and scope also define accept month change. then may be for example January past and February come, the minor profile update will happen. (Note, this is just conceptual, I don't know if this is doable)
As far as my current understanding, overlay priority is a choice of user. So ideally a user believe/agree my idea of limited scope profile concept should set this profile with higher priority. And if the profile is setup correctly will have mask to prevent unintentionally upgrade. |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Thu Nov 07, 2024 11:52 pm Post subject: |
|
|
Quote: | As far as my current understanding, overlay priority is a choice of user. |
Yes, inside /etc/portage/repos.conf
Quote: | So ideally a user believe/agree my idea of limited scope profile concept should set this profile with higher priority. And if the profile is setup correctly will have mask to prevent unintentionally upgrade. | No. At least for now you can only have 1 profile active, and the active profile is selected by a symlink at /etc/portage/make.profile. Inheritance is also done with symlinks to the parent profiles, at filesystem level, so the profiles in the overlay probably should not depend on profiles in ::gentoo.
Since you're choosing your system's profile explicitly, it will not be affected by the overlay's priority. It should only affect ebuilds, and only when multiple options are possible.
Also, it looks like it's possible to explicitly select an ebuild from an overlay with <ebuild name>::<overlay name> syntax (with double colon), so that would be an alternative to modifying overlay's priority. However, this approach does not fit your idea of only adding ebuilds to overlay once their versions in main tree are no longer suitable. _________________ Make Computing Fun Again |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Fri Nov 08, 2024 1:56 am Post subject: |
|
|
szatox wrote: | Quote: | So ideally a user believe/agree my idea of limited scope profile concept should set this profile with higher priority. And if the profile is setup correctly will have mask to prevent unintentionally upgrade. | No. At least for now you can only have 1 profile active, and the active profile is selected by a symlink at /etc/portage/make.profile. Inheritance is also done with symlinks to the parent profiles, at filesystem level, so the profiles in the overlay probably should not depend on profiles in ::gentoo.
Since you're choosing your system's profile explicitly, it will not be affected by the overlay's priority. It should only affect ebuilds, and only when multiple options are possible.
Also, it looks like it's possible to explicitly select an ebuild from an overlay with <ebuild name>::<overlay name> syntax (with double colon), so that would be an alternative to modifying overlay's priority. However, this approach does not fit your idea of only adding ebuilds to overlay once their versions in main tree are no longer suitable. |
Thank you for point of current limitation.
However I am not sure we share same understanding. I envision using /etc/portage/profile/package.mask and package.use or something like that to help constraint to match my "limited scope" profile idea.
I don't envision using multiple profiles however funtoo have a concept of "mixins" that seems to able create "flavor" and create the effect of Inheritance. I am not sure about this yet, but it is interesting concept to learn. |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Fri Nov 08, 2024 11:12 am Post subject: |
|
|
So, is the idea to keep a profile from ::gentoo linked as make.profile and link in a patch from your overlay as local customization via portage/profile?
Well, if you make all package.{use,mask,accept_keywords} etc directories, it could even allow linking in multiple snippets, possibly from various overlays, effectively achieving something like mixins. Portage does support this directory structure, so making it usable would just require a simple script to create and delete all necessary links in several directories with a single command. An eselect module would be great for users' convenience, but a shell loop is enough of a prototype.
Portage has sets too, which could be used along with those profile patches to actually install the software affected by the profile patch. using those 2 together might make a complete solution for adding functionality to the system in a form of ready-to-use blocks rather than IKEA boxes. _________________ Make Computing Fun Again |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1339 Location: Richmond Hill, Canada
|
Posted: Fri Nov 08, 2024 1:56 pm Post subject: |
|
|
szatox,
When I initially start out was doing stage4 build with catalyst. I raise a question about using /etc/portage/profile/packages but did not get any answer. However later I saw another post that indicate that is how the OP got it work so I learn that is possible case. But in between I have settle my workflow use the "sets" concept.
as the concept of "mixins" I rather like it. although I don't know if it will or it is the better idea for doing what I proposed here I don't know yet. I am very happy that you too think it is possible way to go.
I will continue develop this idea, will update if I got something more concreted. |
|
Back to top |
|
|
|
|
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
|
|