Local Overlay

This page intends to get your local overlay going.

Using overlay with Funtoo's kits system

For the overlays we will use a minor change for the main meta-repo described in Funtoo kits: https://github.com/funtoo/meta-repo/blob/master/README.rst

# install -d /var/git
# cd /var/git
# git clone https://github.com/funtoo/meta-repo.git
# cd meta-repo
# git submodule init
# git submodule update
# rm /usr/share/portage/config/repos.conf

Notice that by default guide entire /etc/portage/repos.conf is a symlink to /var/git/meta-repo/repos.conf. This will not let using custom repositories (overlays). For that we will setup a flat file symlink, called funtoo (just an example name).

# rm -rf /etc/portage/repos.conf
# mkdir /etc/portage/repos.conf
# ln -s /var/git/meta-repo/repos.conf /etc/portage/repos.conf/funtoo
# chown -R portage:portage /var/git/meta-repo

In above shown commands we created the "funtoo" symlink to the regular portage tree. This allows to add any configuration files of any names you prefer for any custom repositories you like, such as overlays, and will not interfere with the meta-repo.

Creating the overlay

We will use /var/git/overlay as primary location directory for the overlay. The location can be anywhere on your system, below is an example location tied with /var/git/, is where regular tree located too.

# mkdir /var/git/overlay
Important

Do not store your overlay inside of /var/git/meta-repo. If you do it will get erased when you run ego sync.

Clone the skeleton overlay from github. Change the repository's name from skeleton to a name as it will appear when emerging. Here we use myoverlayname as an example, choose your name accordingly.

# cd /var/git/overlay
# git clone  https://github.com/funtoo/skeleton-overlay.git
# mv skeleton-overlay myoverlayname

Configure the overlay

We will enable portage settings required for the overlay to be functional.

# echo "myoverlayname" > /var/git/overlay/myoverlayname/profiles/repo_name
# echo "masters = core-kit" >> /var/git/overlay/myoverlayname/metadata/layout.conf

/etc/portage/repos.conf/myoverlayname.conf - Add your overlay to portage
[DEFAULT]
main-repo = core-kit

[myoverlayname]
location = /var/git/overlay/myoverlayname
auto-sync = no
priority = 10
Tip

The priority key is needed to ensure, that your overlay has higher priority to the kit's overlays, which are default priority 1

This would be starting point for your own overlay. You're ready to add new ebuilds that are not present in portage tree or fix the ebuilds from portage tree you are no satisfied with, updating of old versions or removing of new ebuild versions.