Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

Unfork Tree is Live!



3 answers to this question

Recommended Posts

  • 0

Here is another page that describes the unfork process in a bit more detail.






Over the years, we've accumulated a lot of forked ebuilds, and while that gives us more control over the upstream ebuilds, it comes with a maintenance cost. Since the ebuilds are now forked, they now need to be maintained. And since our team is extremely small (1-3 people,) over time, these ebuilds go out of date. In addition to about 250 ebuilds forked in funtoo-overlay, we have integrated the Progress overlay, consisting of hundreds of python ebuilds, as well as forked pretty much the entirety of GNOME (about 200 ebuilds).


If forking were the only option we had available to ensure that ebuilds built reliably, then I'd keep forking ebuilds. But fortunately, there is a new option available, and that is by using a method I created using a thing called 'shards'. The benefit of 'shards' is that they will allow Funtoo to provide consistent results to users without relying on the maintenance-intensive practice of forking Gentoo ebuilds. This, in turn, will also help us to collaborate more closely with Gentoo, and to focus on things that make a difference, rather than duplicating work.


What are shards and how do they work? A shard is a set of related ebuilds from Gentoo, such as 'all the GNOME ebuilds', 'all the python ebuilds', or 'all the perl ebuilds'. My merge script grabs the latest changes to these sets of ebuilds and stores them in a git tree. Now, in the past, we have imported Gentoo changes automatically every few hours, except for ebuilds we have forked which change a lot less often. With shards, I can freeze the version of a specific set of Gentoo ebuilds to a particular point in time. This provides a consistent and known-good set of ebuilds to Funtoo users. Before bumping to an updated revision of the shard, Funtoo can now proactively perform quality assurance testing to do our best to make sure that any updates will not cause problems for our users. This way, we can proactively test rather than respond reactively to problems after they have arisen. This is much more time-efficient and provides a better experience for our users.

Link to comment
Share on other sites

  • 0

Is it possible for users to manually bump shards?  For instance, I'm using KDE5 on my desktop, and many kde-apps are unhappy that they can't find kde-frameworks-15.14 (current in Gentoo tree), since it's all been sharded.  I'm willing to take the potential stability hit, at my own risk, but I'm not even sure if it's an option.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...