Difference between revisions of "FAQ:What Are Funtoo Kits"

From Funtoo
Jump to: navigation, search
Line 4: Line 4:
  
 
[[File:kits-1.png|center]]
 
[[File:kits-1.png|center]]
 +
  
 
As you can see, it is all in one repository. Typically, users will utilize ''overlays'' with their Portage tree, either by adding them manually or using a tool like {{c|layman}}. We'll represent a Portage tree along with enabled overlays as follows:
 
As you can see, it is all in one repository. Typically, users will utilize ''overlays'' with their Portage tree, either by adding them manually or using a tool like {{c|layman}}. We'll represent a Portage tree along with enabled overlays as follows:
  
 
[[File:kits-2.png|center]]
 
[[File:kits-2.png|center]]
 +
  
 
In a Portage tree with overlays, the overlays may ''augment'' certain catpkgs (cat/pkg entries) by providing additional ebuilds. Thus, above, we may have sys-foo/bar-1.0 in the monolithic repository, and sys-foo/bar-1.1 and sys-foo/bar-1.2 in overlay 1 and 2 respectively. A user will see the full set of available ebuilds -- 1.0, 1.1 and 1.2.
 
In a Portage tree with overlays, the overlays may ''augment'' certain catpkgs (cat/pkg entries) by providing additional ebuilds. Thus, above, we may have sys-foo/bar-1.0 in the monolithic repository, and sys-foo/bar-1.1 and sys-foo/bar-1.2 in overlay 1 and 2 respectively. A user will see the full set of available ebuilds -- 1.0, 1.1 and 1.2.
Line 14: Line 16:
  
 
[[File:kits-3.png|center]]
 
[[File:kits-3.png|center]]
 +
  
 
One important thing to note about kits is that each one is designed to work with the other. There will be no overlapping catpkg entries between kits, so a catpkg in a set of kits will only appear in '''one''' kit, not more than one.
 
One important thing to note about kits is that each one is designed to work with the other. There will be no overlapping catpkg entries between kits, so a catpkg in a set of kits will only appear in '''one''' kit, not more than one.
Line 20: Line 23:
  
 
[[File:kits-4.png|center]]
 
[[File:kits-4.png|center]]
 +
  
 
There are two related questions related to kits that are often asked. First, do kits slow Portage down? No, in fact I created a patch for Portage so that kits do not slow Portage down at all compared to a monolithic Portage repository/tree. These patches have now been incorporated upstream in Gentoo Linux as well.
 
There are two related questions related to kits that are often asked. First, do kits slow Portage down? No, in fact I created a patch for Portage so that kits do not slow Portage down at all compared to a monolithic Portage repository/tree. These patches have now been incorporated upstream in Gentoo Linux as well.
Line 26: Line 30:
  
 
[[File:kits-5.png|center]]
 
[[File:kits-5.png|center]]
 +
  
 
As we continue our work with kits, we plan to make Portage more modular and flexible for users. We also tag each kit with a stability rating, indicating it suitability for production use.
 
As we continue our work with kits, we plan to make Portage more modular and flexible for users. We also tag each kit with a stability rating, indicating it suitability for production use.

Revision as of 03:44, November 27, 2018

The best way to answer this question is visually. First, let's take a look at a traditional, monolithic Portage tree:

Kits-1.png


As you can see, it is all in one repository. Typically, users will utilize overlays with their Portage tree, either by adding them manually or using a tool like layman. We'll represent a Portage tree along with enabled overlays as follows:

Kits-2.png


In a Portage tree with overlays, the overlays may augment certain catpkgs (cat/pkg entries) by providing additional ebuilds. Thus, above, we may have sys-foo/bar-1.0 in the monolithic repository, and sys-foo/bar-1.1 and sys-foo/bar-1.2 in overlay 1 and 2 respectively. A user will see the full set of available ebuilds -- 1.0, 1.1 and 1.2.

Kits utilize the same overlay technology that is built into Portage, but rather than use them to create overlays that are designed to go 'on top' of each other, this technology is used to create logical collections of packages that are meant to exist 'side by side'. These groupings are called kits, and the visualization of kits might look something like this:

Kits-3.png


One important thing to note about kits is that each one is designed to work with the other. There will be no overlapping catpkg entries between kits, so a catpkg in a set of kits will only appear in one kit, not more than one.

You might be wondering -- can you use kits with traditional overlays? Yes, indeed you can. This might looks something like this:

Kits-4.png


There are two related questions related to kits that are often asked. First, do kits slow Portage down? No, in fact I created a patch for Portage so that kits do not slow Portage down at all compared to a monolithic Portage repository/tree. These patches have now been incorporated upstream in Gentoo Linux as well.

The other question commonly asked is simply "why kits?" Kits are our attempt to logically organize the very large and unwieldy Portage tree into logical groups. As we continue along in this effort, it starts to become possible to 'swap out' one version of a kit for another, so for example running a more recent xorg-server and GNOME that is in the main distribution, which may look something like this (with the "special" colored kits representing newer kit versions.)

Kits-5.png


As we continue our work with kits, we plan to make Portage more modular and flexible for users. We also tag each kit with a stability rating, indicating it suitability for production use.