====== 如何创建自己的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