====== 如何创建自己的overlay ======
Gentoo以其强大的portage管理系统著称,而ebuild是其中一个个细胞单元。一直对ebuild有种避而远之的态度,只对其些许概念,从来不曾深入研究过。而overlay也是,只会简单的使用layman来添加一个公开的overlay,目前有添加gentoo-china,gentoo-taiwan.
相信进阶的玩家都有创建自己的overlay来emerge一些比较新的package,而我也一直徘徊在overlay左右,以前也简单学习过overlay,ebuild的知识,但从来没有实际用过。
应该说创建自己的overlay并不复杂,但它也总是让大多数人敬而远之,我猜有两个原因:
其一,overlay+ebuild,要创建overlay必须学习ebuild,很多人都没认真的学习ebuild知识,所以看到overlay要学习ebuild,放弃。
其二,没有需求,这个我想应该是最主要的原因,如果真的有这样的需求,那肯定会花时间去学习一下,弄好之后,就属于一劳永逸了。而我也在这之列。
回到正文,更详细的说明可以参考[[http://en.gentoo-wiki.com/wiki/Overlay#Creating_a_local_overlay|官方文档]]。
====== 创建overlay目录 ======
mkdir -p /usr/myoverlay
====== 更改PORTDIR_OVERLAY ======
大多数的教程都是要在/etc/make.conf中添加。而我是添加到 /var/lib/layman/make.conf(至于为什么是这个文件,可以man layman).
这是我目前的配置,已经把新的overlay目录增加进去了。
pjq@gentoo-pjq ~ $ cat /var/lib/layman/make.conf
PORTDIR_OVERLAY="
/var/lib/layman/gentoo-taiwan
/var/lib/layman/gentoo-china
/var/lib/layman/desktop-effects
/usr/myoverlay
$PORTDIR_OVERLAY
"
======添加ebuild. ======
这里可以直接从/usr/portage拷贝一些过来,我是拷贝了www-client/chromium-bin.
这里要注意目录结构,目录结构必须是/usr/myoverlay/www-client/chromium-bin,要不然ebuild操作的时候会提示目录结构不正确。
这是我目前的目录结构:
gentoo-pjq myoverlay # ls -R
.:
profiles README www-client
./profiles:
repo_name
./www-client:
chromium-bin
./www-client/chromium-bin:
chromium-bin-6.0.470.0_p57318.ebuild chromium-bin-9999.ebuild Manifest
我把其它多余的ebuild都删掉了。
====== ebuild digest ======
ebuild chromium-bin-6.0.470.0_p57318.ebuild digest
完成之后就可以emerge chromium-bin了,会升级到最新的版本57318.
====== 在github上新增一个project ======
在github上新增一个project,直接push到github上去。
这是我的地址:http://github.com/pjq/Gentoo
PS.找到一个维护有google chrome的overlay:
hg clone https://bitbucket.org/belak/belak.gentoo