【译】Gentoo Local Overlay
Overlay/Local Overlay
有人给你了一个ebuild文件,你不知道该用它干什么?不要担心,接下来我们会介绍到
创建一个本地overlay
你只需要很简单的几步就可以创建一个本地overlay
1 | mkdir -p /usr/local/portage/{metadata,profiles} |
接下来,让portage知道我们建了一个overlay
root# mkdir -p /etc/portage/repos.conf
FILE /etc/portage/repos.conf/local.conf
1 | [NameOfYourOverlay] |
注意
“NameOfYourOverlay” 只是一个示例,你应该将他改为一个有意义的名称
注意
之前的方式是在make.conf中设置 ‘PORTDIR_OVERLAY’ 变量,现在已经被废弃掉了,不应该再被使用
添加一个ebuild到overlay中
现在,基本的框架已经搭建好了,你可以在overlay中添加ebuild了.在这个例子中就是app-dicts/artha-1.0.2. 我们首先确认这个ebuild文件在用户myuser 的home目录下,并且文件名称是artha-1.0.2.ebuild.
1 | mkdir -p /usr/local/portage/app-dicts/artha |
现在你可以使用emerge
来安装ebuild所表示的包
1 | emerge -av1 app-dicts/artha |
Crossdev
crossdev 将会自动将它生成的ebuils/categories
放到在/etc/portage/repos.conf/
中找到的优先级最好的overlay
中,因此你必须设置overlay
的优先级(priority
),绝大多数用户将不愿意crossdev
访问发行版layman
的overlay
或者用户个人每个机器上的overlay
(通常位于/usr/local/portage
).创建一个crossdev
专用的overlay
应该这样做:
1 | mkdir -p /usr/local/portage-crossdev/{profiles,metadata} |
如果主Portage
树使用Git
同步,或者任何其他不校验ebuils
文件的方法,使用如下方法来屏蔽"mastked by: corruption"
的错误
FILE /usr/local/portage-crossdev/metadata/layout.conf
1 | masters = gentoo |
然后指明Portage
和crossdev
使用这个overlay
FILE /etc/portage/repos.conf/crossdev.conf
1 | [local-crossdev] |
参考链接:
[0]: https://bugs.gentoo.org/show_bug.cgi?id=312313
[1]: https://wiki.gentoo.org/index.php?title=Crossdev&action=edit&redlink=1
[2]: https://wiki.gentoo.org/wiki/Layman
【译】Gentoo Local Overlay