Introduction
When Sabayon 15.10 was released, I decided to try it again, but this time with a commitment to learn the Gentoo foundation because maybe the limitation that lead to my frustration with Sabayon was not its limitation but mine in not knowing it well. So I learned how to safely build a binary package using Portage for installation by Entropy. I also decided to convert the Sabayon installations to hybrid source/binary package management. However, I don't think I'll ever need to take advantage of this conversion as the method referred to in the previous link is adequate to get the software I need or even to customize packages for my use case.
In any case, the conversion process is described in this article. Note the following warnings from Sabayon:
-
Never use Portage to update Portage, i.e. never use
emerge portage
because the version of Portage included in Sabayon is different from that included by Gentoo.
-
Make backups of all files edited during this process, as Entropy may overwrite these files during updates.
-
Do not install system packages using the source package management. Install dependencies that would be installed by the source package management using Entropy tools first.
System-Wide Procedure
In a hybrid source/binary Sabayon system, where the primary package management is performed through the Entropy tools equo and rigo, with occasional source PM, there is a procedure for installing each package that needs to be performed as discussed in the next section. There is also a system-wide configuration change that also needs to be made first before installing packages through Portage in order to avoid a conflict between the two package management systems.
This is to modify a setting in the file
/etc/entropy/client.conf
In this file, the line
#ignore-spm-downgrades =
should be changed to
ignore-spm-downgrades = enable
.
In addition, it is important to consider that after installing packages using Portage tools and at some subsequent point upgrading the system with Entropy tools will revert changes made by Portage. To prevent that from happening chose to keep the old conf file when Entropy asks to run equo conf update
. Or, compare the differences between the new and old conf files and if necessary, merge accordingly. This is actually a consideration that needs to be made even when Sabayon is strictly used as a binary package system.
Per-Package Procedure
The above system-wide change will prevent Entropy binary package management from downgrading installations performed through the Portage source package management operation. Now individual packages can be installed using Portage as follows:
-
if customization of the package to be installed is desired, add the package to be installed to the file
/etc/portage/package.use/oo-sabayon.package.use
using the appropriate USE
or -USE
flags
-
adding packages to this file overrides the default system-wide
USE
or - USE
-
if /etc/portage/package.use/00-sabayon.package.use is a directory, edit /etc/portage/package.use/00-sabayon.package.use/00-sabayon.package or create another file in the folder to edit
-
next, add the package to the file /etc/entropy/packages/package.mask
-
search for dependencies to be installed using Entropy tools by looking at the Gentoo's Packages page and noting the dependencies in the listed USE flags.
-
looking at this page will also give available versions and other information
-
install dependencies found in the above step using Entropy tools Equo or Rigo
-
update the Portage Tree with
emerge --sync
-
now the actual installation command, i.e.
emerge packagename
or
emerge package-category/packagename
-
finally, add package installations and removals made with Portage to the Entropy database with
equo rescue spmsync --ask
Conclusion
The strength of Sabayon is that it gives users the extremely flexible and configurable Gentoo as the foundation of the system but with the convenience of a simple initial installation from binary packages through a GUI installer. To get the most benefit from Sabayon and use it to its potential, it is best to learn and use some of the source based package management functions of Portage. With care, users can use the method described here to gain the benefits of Portage package management without committing to a completely source based system and losing the convenience of Sabayon's additions to the Gentoo base system.