LinuxSir.cn,穿越时空的Linuxsir!

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

尝鲜bmpanel,ebuild学习处女作

[复制链接]
发表于 2008-4-15 08:39:31 | 显示全部楼层 |阅读模式
突然之间发现bmpanel这个好东东,发现gentoo还没有,于是试着写了个,准确的说应该是改了个,呵呵

在自己的系统上基本没有问题,今天拿出来,有兴趣的同学们可以试试
btw:还请zhllg帮看看有什么需要完善的,自己也是头一次试着写,有很多还不知道,
bmpanel-0.9.14.ebuild
  1. # Copyright 1999-2007 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/x11-misc/bmpanel/bmpanel-0.9.14.ebuild,v 1.10 2008/04/14 22:43:41 uberlord Exp $
  4. DESCRIPTION="A themeable reincarnation of fspanel"
  5. HOMEPAGE="http://nsf.110mb.com/bmpanel/"
  6. SRC_URI="http://nsf.110mb.com/bmpanel/${P}.tar.gz"
  7. LICENSE="GPL-2"
  8. SLOT="0"
  9. KEYWORDS="amd64 ppc sparc x86 ~x86-fbsd"
  10. IUSE=""
  11. RESTRICT="strip mirror"
  12. RDEPEND="dev-libs/libev
  13.         media-libs/imlib2
  14.         >=media-libs/freetype-2.1.10-r3"
  15. DEPEND="${RDEPEND}
  16.         dev-util/pkgconfig
  17.         dev-util/scons
  18.         x11-proto/xproto"
  19. src_unpack() {
  20.         unpack ${A}
  21. }
  22. src_compile() {
  23.         scons || die "scons failed"
  24. }
  25. src_install () {
  26.         dodir /usr/bin
  27.         scons prefix="${D}/usr" install || die "scons install died"
  28. }
复制代码
这个是上面那个的依赖包
昨天在irc上也问了,后来发现这个和libevent有些关系,但是还不是一个包,gentoo下没有这个包,于是把这个也试着写了
libev-3.2.ebuild
  1. # Copyright 1999-2007 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/dev-libs/libev/libev-3.2.ebuild,v 1.3 2008/04/14 22:44:38 uberlord Exp $
  4. inherit multilib eutils
  5. DESCRIPTION="A full-featured and high-performance event loop"
  6. HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
  7. SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz"
  8. LICENSE="LGPL-2"
  9. SLOT="0"
  10. KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86 ~x86-fbsd"
  11. DEPEND=""
  12. RDEPEND="${DEPEND}"
  13. src_unpack() {
  14.         unpack ${A}
  15.         cd "${S}"
  16. }
  17. src_compile() {
  18.         econf \
  19.         --prefix=/usr || die "configure failed"
  20.         emake || die "emake failed"
  21. }
  22. src_install() {
  23.         emake DESTDIR="${D}" install || die "make install failed"
  24.         dodoc ChangeLog VERSION README
  25. }
复制代码
现在有一个问题比较郁闷,那就是在emerge bmpanel的时候
到了sandbox那里有这个错误
  1. ACCESS DENIED  unlink:    /usr/bin/bmpanel
  2. scons: *** [/usr/bin/bmpanel] /usr/bin/bmpanel: Permission denied
复制代码
没办法非得 FEATURES="-sandbox" emerge -av bmpanel
才过得去,使用倒是没问题,想问问zhllg关于sandbox这里ebuild该怎么修改呢?
另外,bmpanel-0.9.14.tar.gz这个包好像在我这里下载不到,最后非得tor才把他下来,一起放在这里兄弟们就不用去http://nsf.110mb.com/bmpanel下载了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-4-15 08:44:40 | 显示全部楼层
忘了说了,bmpanel在使用时他的theme在/usr/share/bmpanel/themes下,如果使用时出现
  1. xfrank@Kenshinxf ~ $ bmpanel redmini
  2. starting bmpanel with theme: redmini
  3. failed to load font: DejaVuSans/14
  4. fatal loading error
  5. failed to load theme: redmini
复制代码
这个的话,得去相应的theme目录下修改theme文件,把找不到的字体替换为自己已安装的字体
回复 支持 反对

使用道具 举报

发表于 2008-4-15 10:04:24 | 显示全部楼层
赞一个先,这个bmpanel好像挺轻量的,我用的是fbpanel
FEATURES="-sandbox" 这个问题我也遇到过,我是用检测 sandbox是否设置了,如果设置直接就die 提示用户使用 FEATURES="-sandbox" emerge foo 方式,我用 qgrep 查找ebuild也没发现什么好的办法,等待大老回贴
因为是地址overlay 是否加入RESTRICT="mirror" 会更好呢 , 还有就是
./configure --prefix=/usr || die "configure failed"  可以换成econf会更好点吧

你可以把ebuild提交到bugs.gentoo去,至于提交方法在gentoo 中文文档里有,前段时间有人翻译了
回复 支持 反对

使用道具 举报

发表于 2008-4-15 11:08:55 | 显示全部楼层
感谢楼主对我的信任
不过我不可能看过来每个人写的ebuild
最好把ebuild贴到 #gentoo-dev-help@freenode 或者 bugzilla
回复 支持 反对

使用道具 举报

发表于 2008-4-15 11:09:01 | 显示全部楼层
感谢楼主对我的信任
不过我不可能看过来每个人写的ebuild
最好把ebuild贴到 #gentoo-dev-help@freenode 或者 bugzilla
回复 支持 反对

使用道具 举报

发表于 2008-4-15 16:02:55 | 显示全部楼层
src_compile() {
        ./configure \
        --prefix=/usr || die "configure failed"
        emake || die "emake failed"
}

这样的写法很不规范,有econf不用而手工configure被sandbox拒之门外才是正常的,自己还是好好熟悉一下ebuild的编写比较好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-15 19:34:07 | 显示全部楼层
谢谢大家的回复,今晚在研究下,
to:axlrose
我现在用的也是fbpanel,呵呵,不过渐渐喜欢上了bmpanel
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-15 20:14:41 | 显示全部楼层
Post by debianl;1838531
src_compile() {
        ./configure \
        --prefix=/usr || die "configure failed"
        emake || die "emake failed"
}

这样的写法很不规范,有econf不用而手工configure被sandbox拒之门外才是正常的,自己还是好好熟悉一下ebuild的编写比较好


呵呵,的确应该使用econf,但是被sandbox拒绝的确实bmpanel这个包,libev却没有问题
回复 支持 反对

使用道具 举报

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

本版积分规则

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