Friday, July 23, 2010

Making a sabayon package.

Like deb and rpm, there're also Sabayon packages but cause Sabayon is not known much, such packages are hard to be found. Most probably you will not pass through a scenario where you will actually not get a package you need inside the official Sabayon repository, but if you do, here I'll state what you can do to resolve the issue.
Since Sabayon is based on Gentoo, everything that works in Gentoo, also works in Sabayon including ebuilds which might be commonly considered as Gentoo packages and Ebuilds are found at a very large number, if you did not find a Sabayon package, you will get an Ebuild and you can make the Sabayon package from this. To get the ebuild search in, or or download it and place it in /usr/portage/app-misc//-.ebuild>.
Example if we have an ebuild named limewire-5.0.0.ebuild then place it in /usr/portage/app-misc/limewire/
Make the directories if they are not available. The ebuild name should strictly be limewire-, that is in general -. The directory where this ebuild will be placed in the app-misc directory, should be named , in this case, limewire. Now drop to the the root prompt.
Next, you need to create a manifest of the ebuild by -
ebuild manifest
then you can safely emerge with -
emerge limewire
From here on, there're primarily 2 ways by which you can make a Sabayon package, for one of them run the following commands first -
equo rescue spmsync
Actually emerge is set to do this automatically after merging any package, but do this again just in case it does not happen.
As of the insides on how this works, entropy (the binary package manager of Sabayon) has a separate database to that of portage, but both need to have the same packages recorded as installed, to make out for the differences, we run equo rescue spmsync so Limewire gets recorded in the entropy database and now the package will be installed in Sabayon, you can see it in Sulfur as installed.
Next to build a package off it -
equo smart quickpkg
This will be placed in /var/lib/entropy/tmp by default, override by the switch --savedir.
You should have an entropy package there.
Now let's discuss another way of creating a Sabayon packages from Gentoo binaries which where made during compile time by portage (using --buildpkg or quickpkg), assuming you have such a binary, just -
equo smart inflate
And the resultant Sabayon package will be placed in /var/lib/entropy/tmp.
For this technique, you just need to have the gentoo binary, neither the ebuild nor you need to emerge it through portage.
You can install a Sabayon package with sulfur by going to file>install from binaries...
alternatively -
You don't need to worry about the dependencies, they get sorted out by the Sabayon package automatically. Any dependency in the ebuild or the Gentoo binary will be loaded into the Sabayon package.
Request your Sabayon package, I'll try to make them.


  1. I would like fake-pae pkg!
    I am stuck on sabayon 8 and from what i understand, i can't upgrade higher because i have dell d505 1.7mhz with "m" cpu.
    It is capable for pae ,but is not recognized at boot time.
    Fake-pae.deb is great on systems that use deb packages.
    can you make it??

    1. This will never work. This's a kernel problem, it should be PAE capable. Besides you shouldn't need PAE unless you're trying to access 4+GB of ram.