Project Unfork

From Funtoo
Revision as of 01:14, October 6, 2015 by Drobbins (talk | contribs) (Status Update)
Jump to: navigation, search

Project Unfork is a Funtoo Linux effort to reduce the number of forked Gentoo packages and rely on other methods to promote consistent builds, such as the use of ebuild shards. See News:Project_Unfork_Status for more information on the rationale behind Project Unfork.

Status Update

As of October 4, 2015, a tree currently exists which is cloneable from This is a complete Portage tree, and can be used as a /usr/portage replacement, but it does not have cached metadata included, which means that dependency calculation will be very slow initially as Portage manually populates the local metadata cache when emerge calculates dependencies. This is only temporary and will go away once the cache is primed.

You can use this test tree to help me test the more ambitious efforts of Project Unfork. It is recommended that you use a fresh current stage3 for testing. First, add the new unfork tree, and then perform a system update, to ensure that the base stage3 has been updated to an "unfork stage3". t is also very important to do this prior to setting any profile settings via epro.

root # cd /usr
root # mv portage portage.old
root # git clone portage
root # emerge -auDN @system

The recommended profile settings for testing unfork with GNOME (which I am focusing on) are as follows. Enable these after @system is updated:

root # epro flavor desktop
root # epro mix-ins gnome gnome-3.16-fixups

At this point, test things by emerging xorg-x11, gnome, and other things.

What's Unforked?

The Project Unfork tree currently includes the following unforked components:

  1. The Progress Overlay has been removed and the upstream Gentoo Python ebuilds are available instead (unfork of ~500 packages)
  2. The Funtoo GNOME Overlay has been removed and the upstream Gentoo GNOME ebuilds are available instead (unfork of ~200 packages)
  3. Portage-2.4.0 (2.4.0 is our version of upstream's is available and recommended to be used.

I currently need testing of portage-2.4.0 and "'GNOME 3.16, with an emphasis on the funtoo-current build. Details on GNOME 3.16 below.

GNOME 3.16

In our funtoo-staging-unfork tree, there is a new mix-in called gnome-3.16-fixups. This mix-in should be used to test GNOME 3.16 (without systemd). To use it, enable the desktop flavor and the existing gnome mix-in, and then also enable the new gnome-3.16-fixups mix-in. This will enable USE and other settings that should allow GNOME to merge cleanly with manual fixes by users, on both pure64 and multilib systems.

I would like people to test the following items:

  1. Merging GNOME following the GNOME First Steps instructions (but of course enabling the additional gnome-3.16-fixups mix-in instead.)
  2. Using GNOME 3.16 and identifying any issues that need to be resolved.
  3. If you need to manually enable any USE settings to get things to merge, that is a bug that I would like reported. This also includes abi_x86_32 USE settings that may be necessary for various things.

Please report any issues to the Funtoo Linux bug tracker at and note that you are testing the unfork tree.

Thanks very much!