LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1656|回复: 15

[Solved]如何在本地/usr/portage/local/XXXX目录中建自己的overlay

[复制链接]
发表于 2008-3-9 22:51:35 | 显示全部楼层 |阅读模式
我想在usr/portage/local/XXXX建立一个自己的overlay, 看了关于overlay的说明,还是不明白。我已经装了layman了。
谢谢指教。
发表于 2008-3-9 23:09:19 | 显示全部楼层
你自己的overlay不应该放在/usr/portage/local里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-9 23:49:52 | 显示全部楼层
Post by zhllg;1824679
你自己的overlay不应该放在/usr/portage/local里

那应当放在哪儿?烦请指点一二。

我从bugs.gentoo.org (http://bugs.gentoo.org/show_bug.cgi?id=130612)下载了一个net-print的tar.gz文件(http://www.ludd.ltu.se/~jonas/net-print.tar.bz2),解压在/usr/portage/local/下, 是可以正常的使用,可我自己在此建立的目录却不行,#ebuild something.ebuild digest 说是portage的结构不对,故此,晕了。

补充,在/etc/make.conf中倒是加了一句 PORTDIR_OVERLAY="/usr/portage/local/layman /usr/portage/local/net-print", 也不知有用没用。
回复 支持 反对

使用道具 举报

发表于 2008-3-9 23:54:39 | 显示全部楼层
比如我自己的overlay,我放在
/home/jjmmma/gentoo-jjm
然后在/etc/make.conf中添加:
PORTDIR_OVERLAY="/home/jjmmma/gentoo-jjm"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-10 00:00:32 | 显示全部楼层
Post by jjmmma;1824694
比如我自己的overlay,我放在
/home/jjmmma/gentoo-jjm
然后在/etc/make.conf中添加:
PORTDIR_OVERLAY="/home/jjmmma/gentoo-jjm"


谢谢, 有点明白了,我再试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-10 00:15:13 | 显示全部楼层
我在make.conf中加入 PORTDIR_OVERLAY="/usr/portage/local/layman /usr/myoverlay/
然后#env-update
server ~ # env-update
>>> Regenerating /etc/ld.so.cache...

/usr/myoverlay/的目录结构如下:

/usr/myoverlay/
                |---- /net-print
                |---- /fcitx
                |---- /gspcav

在目录 /usr/myoverlay/gspcav执行ebuild出错
server gspcav # ebuild gspcav1-20071224.ebuild digest
Appending /usr to PORTDIR_OVERLAY...
!!! /usr/myoverlay/gspcav/gspcav1-20071224.ebuild does not seem to have a valid PORTDIR structure.
请问问题出在哪里?
回复 支持 反对

使用道具 举报

发表于 2008-3-10 00:33:06 | 显示全部楼层
/usr/portage里有net-print
但是/usr/portage里有fcitx和gspcav么?
...

category/package....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-10 00:36:43 | 显示全部楼层
Post by zhllg;1824707
/usr/portage里有net-print
但是/usr/portage里有fcitx和gspcav么?
...

category/package....


fcitx和gspcav是因为ebuild有些改动,我想另外建一个,这样做不行吗?应该怎么做?
回复 支持 反对

使用道具 举报

发表于 2008-3-10 01:01:45 | 显示全部楼层
category和package不能处于同一目录级别
言下之意
假设你的overlay根目录是/foo
你的package不能直接置于/foo下
而应该在/foo下建立package所属的category的目录
再把package置于category下

比如/foo/app-i18n/fcitx
此处app-i18n即为category
前面net-print也是category
/usr/portage的直接下一级目录只存在category
而没有package,比如fcitx...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-10 18:32:08 | 显示全部楼层
Post by zhllg;1824717
category和package不能处于同一目录级别
言下之意
假设你的overlay根目录是/foo
你的package不能直接置于/foo下
而应该在/foo下建立package所属的category的目录
再把package置于category下

比如/foo/app-i18n/fcitx
此处app-i18n即为category
前面net-print也是category
/usr/portage的直接下一级目录只存在category
而没有package,比如fcitx...

还是没有完全理解,烦请再解释一二。

比如:我现在设定我的overlay的根目录是/usr/myoverlay,
然后我在/usr/myoverlay下面建一个category叫my-own,
再把gspca目录连同里面的ebuild移到/usr/myoverlay/my-own下作为package, 似乎就应该可以了吧,但还是出现下面的错误:

server gspcav # ebuild gspcav1-20071224.ebuild  digest
!!! /usr/myoverlay/my-own/gspcav/gspcav1-20071224.ebuild does not seem to have a valid PORTDIR structure.

我在/etc/make.conf中有PORTDIR_OVERLAY="/usr/portage/local/layman /usr/myoverlay/",

my-own的好像名字不能起,必须和portage中的一致,不然就不是Overlay了。我的理解对吗?
我按照portage相应的目录名建立目录就没问题 。那新设立category怎么做呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表