分类: 系统运维
2013-06-09 13:49:30
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,放弃。
其二,没有需求,这个我想应该是最主要的原因,如果真的有这样的需求,那肯定会花时间去学习一下,弄好之后,就属于一劳永逸了。而我也在这之列。
回到正文,更详细的说明可以参考官方文档。
mkdir -p /usr/myoverlay
大多数的教程都是要在/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 "
这里可以直接从/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 chromium-bin-6.0.470.0_p57318.ebuild digest
完成之后就可以emerge chromium-bin了,会升级到最新的版本57318.
在github上新增一个project,直接push到github上去。
这是我的地址:
PS.找到一个维护有google chrome的overlay:
hg clone