+ -
当前位置:首页 → 问答吧 → 尝鲜bmpanel,ebuild学习处女作

尝鲜bmpanel,ebuild学习处女作

时间:2008-04-15

来源:互联网

突然之间发现bmpanel这个好东东,发现gentoo还没有,于是试着写了个,准确的说应该是改了个,呵呵

在自己的系统上基本没有问题,今天拿出来,有兴趣的同学们可以试试
btw:还请zhllg帮看看有什么需要完善的,自己也是头一次试着写,有很多还不知道,
bmpanel-0.9.14.ebuild
代码:
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/bmpanel/bmpanel-0.9.14.ebuild,v 1.10 2008/04/14 22:43:41 uberlord Exp $

DESCRIPTION="A themeable reincarnation of fspanel"
HOMEPAGE="http://nsf.110mb.com/bmpanel/"
SRC_URI="http://nsf.110mb.com/bmpanel/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc sparc x86 ~x86-fbsd"
IUSE=""
RESTRICT="strip mirror"

RDEPEND="dev-libs/libev
        media-libs/imlib2
        >=media-libs/freetype-2.1.10-r3"
DEPEND="${RDEPEND}
        dev-util/pkgconfig
        dev-util/scons
        x11-proto/xproto"

src_unpack() {
        unpack ${A}
}

src_compile() {
        scons || die "scons failed"
}

src_install () {
        dodir /usr/bin
        scons prefix="${D}/usr" install || die "scons install died"
}
这个是上面那个的依赖包
昨天在irc上也问了,后来发现这个和libevent有些关系,但是还不是一个包,gentoo下没有这个包,于是把这个也试着写了
libev-3.2.ebuild
代码:
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libev/libev-3.2.ebuild,v 1.3 2008/04/14 22:44:38 uberlord Exp $

inherit multilib eutils

DESCRIPTION="A full-featured and high-performance event loop"
HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz"

LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86 ~x86-fbsd"

DEPEND=""
RDEPEND="${DEPEND}"

src_unpack() {
        unpack ${A}
        cd "${S}"
}

src_compile() {
        econf \
        --prefix=/usr || die "configure failed"
        emake || die "emake failed"
}

src_install() {
        emake DESTDIR="${D}" install || die "make install failed"
        dodoc ChangeLog VERSION README
}
现在有一个问题比较郁闷,那就是在emerge bmpanel的时候
到了sandbox那里有这个错误
代码:
ACCESS DENIED unlink: /usr/bin/bmpanel
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下载了
上传的图像
panel.png (7.1 KB, 97 次查看)
上传的附件
bmpanel-0.9.14.tar.gz (24.8 KB, 5 次查看)

作者: KenShinXF   发布时间: 2008-04-15

忘了说了,bmpanel在使用时他的theme在/usr/share/bmpanel/themes下,如果使用时出现
代码:
xfrank@Kenshinxf ~ $ bmpanel redmini
starting bmpanel with theme: redmini
failed to load font: DejaVuSans/14
fatal loading error
failed to load theme: redmini
这个的话,得去相应的theme目录下修改theme文件,把找不到的字体替换为自己已安装的字体

作者: KenShinXF   发布时间: 2008-04-15

赞一个先,这个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 中文文档里有,前段时间有人翻译了

作者: axlrose   发布时间: 2008-04-15

感谢楼主对我的信任
不过我不可能看过来每个人写的ebuild
最好把ebuild贴到 #gentoo-dev-help@freenode 或者 bugzilla

作者: zhllg   发布时间: 2008-04-15

感谢楼主对我的信任
不过我不可能看过来每个人写的ebuild
最好把ebuild贴到 #gentoo-dev-help@freenode 或者 bugzilla

作者: zhllg   发布时间: 2008-04-15

src_compile() {
./configure \
--prefix=/usr || die "configure failed"
emake || die "emake failed"
}

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

作者: debianl   发布时间: 2008-04-15

谢谢大家的回复,今晚在研究下,
to:axlrose
我现在用的也是fbpanel,呵呵,不过渐渐喜欢上了bmpanel

作者: KenShinXF   发布时间: 2008-04-15

引用:
作者: debianl
src_compile() {
./configure \
--prefix=/usr || die "configure failed"
emake || die "emake failed"
}

这样的写法很不规范,有econf不用而手工configure被sandbox拒之门外才是正常的,自己还是好好熟悉一下ebuild的编写比较好
呵呵,的确应该使用econf,但是被sandbox拒绝的确实bmpanel这个包,libev却没有问题

作者: KenShinXF   发布时间: 2008-04-16