维护你自己的 Gentoo Overlay
Jul 28, 2016
有些时候呢,你需要加一些 Ebuild 或者 Profile,结果发现好麻烦啊好麻烦啊,为什么不自己开个 Overlay 呢?
那么,就开始吧!首先创建我们的 Overlay 文件夹,个人习惯放在 /usr/local/portage
mkdir -p /usr/local/portage/{metadata,profiles}
其中,metadata 是存放 Overlay 属性用,Profiles 则是存放 Portage profile 相关文件的地方.
然后进行基础的设定.
echo 'Overlay 名字' > /usr/local/portage/profiles/repo_name
echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf
chown -R portage:portage /usr/local/portage
Overlay 的名字建议起一个好记得即可,masters = gentoo
的作用则是告诉 Portage 他是基于 gentoo 官方源 Overlay.如果你不是的话,你也可以设定为 masters = sabayon
之类的.
接下来把它添加到 Portage 设定里面.
#vim /etc/portage/repos.conf/local.conf
[Overlay 名字]
location = /usr/local/portage
masters = gentoo
auto-sync = no
这里的名字和 masters 要与你上面设定的保持一致.
至于加 Ebuild 就很简单了,按照 Portage 树的格式添加.这里我们添加 raspi-config-0_pre20160506.ebuild
mkdir -p /usr/local/portage/app-misc/raspi-config
cp ~/raspi-config-0_pre20160506.ebuild /usr/local/portage/app-misc/raspi-config/
chown -R portage:portage /usr/local/portage
pushd /usr/local/portage/app-misc/raspi-config/
repoman manifest
popd
首先我们按照 Ebuild 的分类,创建文件夹,然后将 Ebuild 复制进去,最后生成包括 SHA256 SHA512 WHIRLPOOL 校验的 Manifest.
如果你一次添加了很多的 Ebuild 的话,可以直接在 /usr/local/portage 处执行 repoman manifest
,可以批量生成 Manifest.
然后就可以测试我们的 Ebuild 了.
emerge -a raspi-config
这样是不是比直接调用 ebuild.sh
好多了!
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.