The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Creating Your Own Overlay"
(Cleanup and remove old workaround) |
|||
Line 1: | Line 1: | ||
This page intends to get your local overlay going. | This page intends to get your local overlay going. | ||
{{ | {{note|With current versions of {{Package|app-admin/ego}} the directory {{c|/etc/portage/repos.conf/}} is no longer a symbolic link, therefore old workarounds are not needed anymore.}} | ||
}} | |||
{{ | |||
}} | |||
==Creating the overlay== | ==Creating the overlay== | ||
We will use | We will use {{c|/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 {{c|/var/git/}}, is where regular tree located too. | ||
{{console|body= | {{console|body= | ||
Line 29: | Line 11: | ||
{{important|Do not store your overlay inside of /var/git/meta-repo. If you do it will get erased when you run ego sync.}} | {{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 [https://github.com/funtoo/skeleton-overlay skeleton overlay] from github. Change the repository's name from ''skeleton'' to a name as it will appear when emerging. Here we use | Clone the [https://github.com/funtoo/skeleton-overlay skeleton overlay] from github. Change the repository's name from ''skeleton'' to a name as it will appear when emerging. Here we use {{c|myoverlayname}} as an example, choose your name accordingly. | ||
{{console|body=###i## cd /var/git/overlay | {{console|body=###i## cd /var/git/overlay | ||
###i## git clone https://github.com/funtoo/skeleton-overlay.git | ###i## git clone https://github.com/funtoo/skeleton-overlay.git myoverlayname | ||
}} | }} | ||
Line 40: | Line 21: | ||
{{console|body= | {{console|body= | ||
###i## echo "myoverlayname" > /var/git/overlay/myoverlayname/profiles/repo_name | ###i## echo "myoverlayname" > /var/git/overlay/myoverlayname/profiles/repo_name | ||
}} | |||
{{file|name=/etc/portage/repos.conf/myoverlayname.conf|lang=|desc=Add your overlay to portage|body= | {{file|name=/etc/portage/repos.conf/myoverlayname.conf|lang=|desc=Add your overlay to portage|body= | ||
[myoverlayname] | [myoverlayname] | ||
location = /var/git/overlay/myoverlayname | location = /var/git/overlay/myoverlayname | ||
Line 52: | Line 31: | ||
}} | }} | ||
{{tip|The | {{tip|The {{c|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 are ready to add new ebuilds that are not present in portage tree or fix the ebuilds from portage tree you are not satisfied with, updating old packages or removing newer package versions. | |||
This | {{note|{{c|equery}} may print this warning on execution: | ||
{{console|body= | |||
$ ##i##equery u gcc | |||
Unavailable repository 'gentoo' referenced by masters entry in '/var/git/myoverlayname/metadata/layout.conf' | |||
...}} | |||
This is a [https://bugs.funtoo.org/browse/FL-4826 known equery bug], but should not cause any adverse effects.}} | |||
[[Category:Portage]] | [[Category:Portage]] |
Revision as of 17:11, May 23, 2018
This page intends to get your local overlay going.
With current versions of app-admin/ego the directory /etc/portage/repos.conf/
is no longer a symbolic link, therefore old workarounds are not needed anymore.
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.
root # mkdir /var/git/overlay
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.
root # cd /var/git/overlay root # git clone https://github.com/funtoo/skeleton-overlay.git myoverlayname
Configure the overlay
We will enable portage settings required for the overlay to be functional.
root # echo "myoverlayname" > /var/git/overlay/myoverlayname/profiles/repo_name
/etc/portage/repos.conf/myoverlayname.conf
- Add your overlay to portage[myoverlayname] location = /var/git/overlay/myoverlayname auto-sync = no priority = 10
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 are ready to add new ebuilds that are not present in portage tree or fix the ebuilds from portage tree you are not satisfied with, updating old packages or removing newer package versions.
equery
may print this warning on execution:
user $ equery u gcc Unavailable repository 'gentoo' referenced by masters entry in '/var/git/myoverlayname/metadata/layout.conf' ...
This is a known equery bug, but should not cause any adverse effects.