Gentoo的包管理器叫做Portage,描述文件叫Portfile。现在的portage很讲究目录结构,就是Gentoo里的PORTDIR structure,所谓category。robot framework是用python开发的,照例是在dev-python下的某个目录中。没想到的是,现在ebuild对目录的检查很严格,即使在调试时安装本地的portfile也要遵循该结构:
mkdir -p dev-python/robotframework
mv robotframework-2.5.ebuild dev-python/robotframework/
cd dev-python/robotframework
然后利用底层的ebuild包管理命令,对本地包生成数字摘要、测试安装和部署:
sudo ebuild robotframework-2.5.ebuild digest
sudo ebuild robotframework-2.5.ebuild install
sudo ebuild robotframework-2.5.ebuild qmerge
digest是最近新增加的指令?有这个命令省事多了,调试起来很happy。
调试过程需要反复修改,得删除已经用qmerge安装到系统目录中的文件,以及portfile的缓存:
sudo emerge -C robotframework-2.5
sudo rm -rf /var/tmp/portage/dev-python/robotframework-2.5/
把dev-python/robotframework和dev-python/robotframework-seleniumlibrary向Gentoo提交了,不知道审核要多久。
完。
2 条评论:
ebuild可以后面跟多个命令参数的:
sudo ebuild robotframework-2.5.ebuild digest install qmerge
如果调试ebuild文件的话,install后去看 $S/images/ 下的文件对不对就行了,不一定非要 qmerge
清除$S 可以直接用 ebuild robotframework-2.5.ebuild clean
所以我一般是用 ebuild xxx.ebuild digest clean install
一次执行多个命令好,学到了,谢谢!
发表评论