View previous topic :: View next topic |
Author |
Message |
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Mon Aug 21, 2023 10:19 am Post subject: Gentoo to build other distros |
|
|
Currently most distros are redoing a lot of the work to build packages. I think we can deduplicate a lot of work by having a central repository of build scripts. It so happens that that is exactly what Gentoo is.
If we can get other distros to build their distros using Gentoo, we would get a lot of extra ebuild maintainers. We would get more bug reports. Everyone would benefit from everyone else’s work. And we might even be able to get the original package developers to make ebuilds.
It would be a big up front investment to make the necessary modifications to Gentoo, but the reward will be huge. I really think this is worth pursuing.
I think the best distro to start with would be Arch, since it is the biggest distro closest to Gentoo. I’m not sure what this would entail, but I guess we would have to start by supporting pacman, and related configuration tools and files.
We would need to way to mark a package version as the preferred version for a distro, in much the same way we mark packages as stable for an architecture. I’m thinking some sort of configuration file for each distro, like debian-stable etc.
I haven’t used flatpak much, so I’m not sure exactly how it works, but I think that is also a “distro” worth prioritising. Arguably flatpak is here to stay, so it is better to integrate it than fight it.
One problem might be that the Gentoo repo will grow huge, so splitting it up in some way might be a good idea. That might be difficult since there is a lot of overlap in dependencies. I’m thinking maybe something like “views” in SQL. |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5211 Location: Bavaria
|
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Mon Aug 21, 2023 10:30 am Post subject: |
|
|
Partly. I believe most of those are distros that are based on gentoo. So the end user still interacts with gentoo. I'm indeed thinking of something like ChromeOS where the end user doesn't see any gentoo, they merely use packages that the distro maintainers built. Gentoo is only used to build the packages by the distro maintainers. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Mon Aug 21, 2023 10:36 am Post subject: |
|
|
We can probably draw on some of the work that ChromiumOS has done |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54615 Location: 56N 3W
|
Posted: Mon Aug 21, 2023 10:55 am Post subject: |
|
|
minkanjin,
Write a set called debian and put it into /etc/portage/sets
Make a debian profile
Then
That's a little tongue in cheek but the theory is sound :)
You can even save binary packages. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Fri Sep 01, 2023 7:52 pm Post subject: |
|
|
Yeah. On the surface it seems like it should really be that simple. Just build the package and put it in an archive.
I expect there is some sort of catch, because it's never that simple. But this is the idea I have |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5211 Location: Bavaria
|
Posted: Fri Sep 01, 2023 8:51 pm Post subject: |
|
|
A first step could be to find out the configuration of the debian kernel and especially the distribution specific patches compared to a vanilla kernel from Linus. After that you could find out the changes of the default configurations (and of course the patches again) of all used programs. After that, this can be effortlessly rebuilt via newly created ebuilds and you have a Debian built. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Sun Oct 08, 2023 8:43 am Post subject: |
|
|
Some distros split development packages from the normal packages, so we probably need a mechanism for that |
|
Back to top |
|
|
mrbassie l33t
Joined: 31 May 2013 Posts: 826 Location: Go past the sign for cope, right at the sign for seethe. If you see the target you've missed it.
|
Posted: Tue Oct 10, 2023 5:15 pm Post subject: |
|
|
minkanjin wrote: | Some distros split development packages from the normal packages, so we probably need a mechanism for that |
The equivalent of some sort of hedge, accumulation of thorn, thicket, hardy grass? Or canal, trench, dry-stone-above-ground-non-trench? _________________ I spent a christmas in Vienna twenty something years ago. It was a beautiful city. Everyone was so friendly. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22798
|
Posted: Tue Oct 10, 2023 5:36 pm Post subject: |
|
|
mrbassie wrote: | minkanjin wrote: | Some distros split development packages from the normal packages, so we probably need a mechanism for that |
The equivalent of some sort of hedge, accumulation of thorn, thicket, hardy grass? Or canal, trench, dry-stone-above-ground-non-trench? | What are you trying to say here? minkanjin made a reasonable comment about requirements for this project. I cannot infer from your response how your post could be read as a solution or as a hint toward the solution. |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Tue Oct 10, 2023 7:05 pm Post subject: |
|
|
Quote: | Currently most distros are redoing a lot of the work to build packages. I think we can deduplicate a lot of work by having a central repository of build scripts. It so happens that that is exactly what Gentoo is.
If we can get other distros to build their distros using Gentoo, we would get a lot of extra ebuild maintainers. We would get more bug reports. Everyone would benefit from everyone else’s work. And we might even be able to get the original package developers to make ebuilds.
It would be a big up front investment to make the necessary modifications to Gentoo, but the reward will be huge. I really think this is worth pursuing.
|
Alright, so before we get into technical details, I have an awful question:
Why would any other distribution want to use Gentoo as their development platform instead of their own platform?
> Currently most distros are redoing a lot of the work to build packages
It probably is true.
> I think we can deduplicate a lot of work by having a central repository of build scripts
This also is probably true.
> If we can get other distros to build their distros using Gentoo, we would get a lot of extra ebuild maintainers. We would get more bug reports.
This is definitely true. It would be amazing for Gentoo. However:
> Everyone would benefit from everyone else’s work.
How exactly does it benefit everyone else than Gentoo, and how would it benefit the pioneers?
There are at least 3 big problems:
1) critical mass / network effect - you don't benefit from using this solution, you benefit from everyone else already using it. There is nothing to benefit from unless a lot of _other_ people already contribute.
2) inertia - already existing distributions already work. Even if they could benefit from switching over, it's a lot of effort, a lot of confusion, learning new tools instead of developing projects and so on, and a lot of people reconsidering their options because you're messing up with their process.
3) additional complexity, forever - Instead of 1 converged system you now have 2 related systems, which means the complexity you're dealing with increased 3 times. Why would you do that to yourself?
You're making a sales pitch, so you really need to focus on reasons for your target to buy. Helping you out is not even an insufficient reason; it completely misses the mark. |
|
Back to top |
|
|
mrbassie l33t
Joined: 31 May 2013 Posts: 826 Location: Go past the sign for cope, right at the sign for seethe. If you see the target you've missed it.
|
Posted: Wed Oct 11, 2023 4:38 pm Post subject: |
|
|
Hu wrote: | mrbassie wrote: | minkanjin wrote: | Some distros split development packages from the normal packages, so we probably need a mechanism for that |
The equivalent of some sort of hedge, accumulation of thorn, thicket, hardy grass? Or canal, trench, dry-stone-above-ground-non-trench? | What are you trying to say here? minkanjin made a reasonable comment about requirements for this project. I cannot infer from your response how your post could be read as a solution or as a hint toward the solution. |
A barrier if you will _________________ I spent a christmas in Vienna twenty something years ago. It was a beautiful city. Everyone was so friendly. |
|
Back to top |
|
|
fpemud Guru
Joined: 15 Feb 2012 Posts: 350
|
Posted: Thu Oct 12, 2023 3:06 am Post subject: |
|
|
NeddySeagoon wrote: | minkanjin,
Write a set called debian and put it into /etc/portage/sets
Make a debian profile
Then
That's a little tongue in cheek but the theory is sound
You can even save binary packages. |
Additionally, we should consider implementing an "ungentoo" script to eliminate all Gentoo files.
Upon successful execution, the system will be transformed into a Debian operating system.
Will the Debian team accept this new procedure? |
|
Back to top |
|
|
flysideways Guru
Joined: 29 Jan 2005 Posts: 497
|
Posted: Thu Oct 12, 2023 11:17 pm Post subject: |
|
|
I'd be happy if I could just bend Catalyst to my will. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Fri Oct 13, 2023 2:03 pm Post subject: |
|
|
szatox, like I said: this will be a big upfront investment, and the benefits will probably only show in the long term.
Yes, you only benefit if someone else is using this system. The goal (long term) is to get many distros onboard.
Yes, there is going to be growth pains involved. Many will be hesitant to join just because of that. It is indeed a problem, and I'm hoping the long term benefits will make it worth it.
Nay sayers who don't get it is also going to be a problem.
I'm not so sure it will be more complex. Complexity doesn't always increase exponentially, sometimes it increases logarithmicly.
The problem I'm worried about is that the rolling release distros are going to end up doing most of the work. That will require some politics to fix. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Fri Oct 13, 2023 2:08 pm Post subject: |
|
|
An alternative to ungentoo script is to build it into a separate root. But I think an ungentoo script will be simpler.
I guess a lot of packages will have distro specific modifications, so we might need build-for-specific-distro scripts. That might make things complex. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Fri Oct 13, 2023 2:12 pm Post subject: |
|
|
I didn't know about Catalyst. Is that a tool that can maybe be extended for the job? |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Fri Oct 13, 2023 4:54 pm Post subject: |
|
|
Ok, so why would any other distribution want to use Gentoo as their development platform instead of their own platform? Why would already established, independent distributions want to become Gentoo's derivatives?
I can tell you why they wouldn't want that:
Doing so diverts developers' effort from something they care about towards something they don't.
Yes, reducing the amount of redundant work could kinda grow the pie, but all contributors' slices would still get smaller.
BTW, I just remembered something that complicates matters even more:
Funtoo would be a better choice than Gentoo for this use case.
Catalyst is mostly used for building stage3 tarballs. It uses ebuilds from portage, not creates them. Maybe you could add features like "buildrpm", "builddeb", and "build-all-in-one-tgz" to emerge, to complement already existing "buildpkg". |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Sat Oct 14, 2023 11:54 am Post subject: |
|
|
Currently every distro is building every package from scratch every time. Effectively everyone is writing "ebuilds" from scratch for everything. Sharing those "ebuilds" so everyone wouldn't have to redo that work would reduce their workload. I don't really understand why you don't see a reduction in workload as a selling point. |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Sat Oct 14, 2023 12:18 pm Post subject: |
|
|
Quote: | I don't really understand why you don't see a reduction in workload as a selling point. | Oh, I do see it as a selling point. I don't disagree with you on the matter of inefficiency. I do not see it as the _buying_ point though.
Let me flip the script on you:
Funtoo is objectively better suited to be a universal build platform for binary distributions than Gentoo. Why do you not want to use it instead?
Hint: the answer is already in my previous post. |
|
Back to top |
|
|
minkanjin n00b
Joined: 29 Jan 2017 Posts: 42
|
Posted: Sat Oct 14, 2023 1:31 pm Post subject: |
|
|
If Funtoo is the better option, then let it be Funtoo.
I'm not very familiar with Funtoo, so I don't know what opinions to share concerning this idea in that context.
One possible problem is that Funtoo is less popular than Gentoo, so less workforce. Which means that making that "initial investment" will be a lot harder. So either we need to port the Funtoo features to Gentoo, or we need to transfer devs to Funtoo.
From what I see on wikipedia, Funtoo has kits, which sounds like the "SQL views" idea I gave earlier. So that might be something worth looking at.
Wikipedia also says no systemd support. Not sure if that statement is up to date, but that will be a deal breaker for most distros. |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20506
|
Posted: Sun Oct 15, 2023 6:29 am Post subject: |
|
|
szatox wrote: | Quote: | I don't really understand why you don't see a reduction in workload as a selling point. | Oh, I do see it as a selling point. I don't disagree with you on the matter of inefficiency. I do not see it as the _buying_ point though.
Let me flip the script on you:
Funtoo is objectively better suited to be a universal build platform for binary distributions than Gentoo. Why do you not want to use it instead?
Hint: the answer is already in my previous post. | You've made the claim, but have not explained why others should believe it is objectively better.
Putting effort into making ebuilds frees developer time to focus on the distro parts. Additionally, emerge is not a good tool for easy installation of binary only packages, so distros would still need their own solution for that.
My only objection to Funtoo is that it seems even more of a niche than Gentoo, being a "hobby" project of a small team / limited resources. Relying on such a project in the manner you suggest seems unwise. Of course, if more people used it, then more resources might be available. But then that seems more like becoming Funtoo. Admittedly I have no idea why you think it is objectively better to use Funtoo to build a distro that isn't Funtoo. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54615 Location: 56N 3W
|
Posted: Sun Oct 15, 2023 12:07 pm Post subject: |
|
|
minkanjin,
Catalyst is used to build all Gentoo binary release media.
Minimal ISOs, stage 3, LiveDVDs ...
-- edit --
It's been done once.
A long time ago, Google used Gentoo to build ChromeOS. They have sice moved away from using Gentoo. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1315 Location: Richmond Hill, Canada
|
Posted: Sun Oct 15, 2023 2:51 pm Post subject: |
|
|
minkanjin,
I think all ideas are great, so your idea in principle are sound, may be you want to start do something to attract people outside of Gentoo community for discussion.
I think no one in Gentoo community will object have more contributors, but to start doing something from scratch require some effort and usually a little bit something tangible will help more people to follow.
On the other thread that bring out Puppy Linux which I think it match your idea in principle, it have multiple Linux distributions flavours. I recommend you have a look at its history page and think about how you want to structure your project and think about scope of your project (i.e. which distro flavour to begin and what other distros should be in project scope) |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3477
|
Posted: Mon Oct 16, 2023 5:06 pm Post subject: |
|
|
pjp wrote: | You've made the claim, but have not explained why others should believe it is objectively better.
| Partially because it was a simple fairness test. I intended to make the OP uncomfortable enough to realize why redirecting attention from other distributions to Universal Build Platform Gentoo would not be seen as beneficial by anyone outside Gentoo. Too bad, it didn't work.
Quote: |
My only objection to Funtoo is that it seems even more of a niche than Gentoo, being a "hobby" project of a small team / limited resources. Relying on such a project in the manner you suggest seems unwise. Of course, if more people used it, then more resources might be available. But then that seems more like becoming Funtoo. Admittedly I have no idea why you think it is objectively better to use Funtoo to build a distro that isn't Funtoo. |
I don't think it's better to use Funtoo for building a distro that isn't Funtoo, just like I don't think it's better to use Gentoo to build a distro that is not Gentoo.
On top of that, an already independent distro has no business becoming dependent on anyone else. Giving up control to receive additional complexity is just a bad deal.
This said, Funtoo encourages collaboration more; attempts to have groups of people with common use cases maintain respective profiles instead of individual admins maintaining individual machines on ad-hoc basis. "Do not set custom use flags, report a profile bug instead".
Blurring the lines between users and developers provides more manpower to the common cause; it would be much easier to run Funtoo Debian than szatox Debian, pjp Debian and minkanjin Debian.
Not that any of those would ever happen anyway. Maybe - just maybe - BloatPack Debian could be feasible. But flatpack and snapstore already exist, what's the point of making Lindows crowd bigger after package managers have already been invented? |
|
Back to top |
|
|
|