[分享] 第六个练手作品 xfmpc 一个xfce4库支持下的mpc前端 by [**与玫瑰]
时间:2008-03-31
来源:互联网
我blog里存放的位置 http://hi.baidu.com/3444542/blog/item/1c909555a70f06c0b745aed9.html
# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit xfce44 DESCRIPTION="A graphical GTK+ MPD client focusing on low footprint" # 这是对你的软件包进行的简短说明 HOMEPAGE="http://goodies.xfce.org/projects/applications/xfmpc" # 这个就没什么好说的了,如果你在某个站点发布你的软件,那在这里加上网站的链接就是了 #SRC_URI="http://goodies.xfce.org/releases/xfmpc/xfmpc-0.0.4.tar.bz2" SRC_URI="http://goodies.xfce.org/releases/xfmpc/${P}.tar.bz2" SLOT="0" # 通常这里写成0就可以了,这主要用于GCC,emacs这类可以多版本共存的软件包 #IUSE="linguas_zh_CN ssl applet systray doc" # 这里设置USE标记,较为复杂,这里就只加一个doc作例子了 IUSE="" RESTRICT="mirror" #for local overlay LICENSE="GPL-2" # 我们痛恨但又不可避免的软件许可 KEYWORDS="x86 amd64" #这只是个简单的脚本,所以在各种架构上都应该是可以正常运行的,不过,我们只想在x86上测试它 #并且所有起始的ebuild都应该先进行测试,所以只写上~x86 #写完后发现原来有人家写好的了 不过用的是svn版 #http://gentoo-overlays.zugaina.org/xfce/portage/xfce-extra/xfmpc/xfmpc-9999.ebuild RDEPEND=">=x11-libs/gtk+-2.12 \ >=xfce-base/libxfcegui4-4.4.0 \ >=xfce-base/libxfce4util-4.4.0 \ >=media-libs/libmpd-0.15.0 " DEPEND="${RDEPEND} \ dev-util/intltool" #RDEPEND=">=media-libs/libmpd-0.15.0 \ # >=dev-libs/glib-2.14:2 \ # >=x11-libs/gtk+-2.12:2 \ # ~xfce-base/libxfcegui4-${PV} \ # ~xfce-base/libxfce4util-${PV}" #=========xfce44.eclass==== #XFCE_CONFIG="${XFCE_CONFIG} $(use_enable dbus)" #DOCS="AUTHORS ChangeLog NEWS TODO README README.plugins README.remote" #============================================== #S="${WORKDIR}/${PN}${PV}" #------------------ 一个使用第三方ebuild的示例--------------------------- #sudo mkdir /usr/local/myportage/net-misc/g2ipmsg/files -p #cd /usr/local/myportage/net-misc/g2ipmsg/files #-------------------- #add PORTDIR_OVERLAY to /etc/make.conf #PORTDIR_OVERLAY="/usr/local/myportage" #PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/portage/local/layman/gentoo-china" #sudo sh -c "echo net-misc/g2ipmsg >> /etc/portage/package.keywords" #sudo sh -c 'echo "net-misc/g2ipmsg ssl applet doc systray >> /etc/portage/package.use' #不用这一步 #sudo ebuild ./g2ipmsg-0.9.5.ebuild digest #sudo sh -c "USE=doc emerge g2ipmsg" #cat /var/lib/portage/world | grep g2ipmsg #--------------------------------------------- #test for ebuild #repoman scan #repoman full #--------------------------------------------- #==========联系方式========== # mailto: [email protected] # QQ: 3444542 # gmail: [email protected] # irc: irc.freenode.org/#gentoo-cn GunsNRose # blog: http://hi.baidu.com/3444542/blog #============================
# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils xfce44 DESCRIPTION="A graphical GTK+ MPD client focusing on low footprint" # 这是对你的软件包进行的简短说明 HOMEPAGE="http://goodies.xfce.org/projects/applications/xfmpc" # 这个就没什么好说的了,如果你在某个站点发布你的软件,那在这里加上网站的链接就是了 #SRC_URI="http://goodies.xfce.org/releases/xfmpc/xfmpc-0.0.4.tar.bz2" SRC_URI="http://goodies.xfce.org/releases/xfmpc/${P}.tar.bz2" SLOT="0" # 通常这里写成0就可以了,这主要用于GCC,emacs这类可以多版本共存的软件包 IUSE="" RESTRICT="mirror" #for local overlay LICENSE="GPL-2" # 我们痛恨但又不可避免的软件许可 KEYWORDS="x86 amd64" #这只是个简单的脚本,所以在各种架构上都应该是可以正常运行的,不过,我们只想在x86上测试它 #并且所有起始的ebuild都应该先进行测试,所以只写上~x86 #写完后发现原来有人家写好的了 #http://gentoo-overlays.zugaina.org/xfce/portage/xfce-extra/xfmpc/xfmpc-9999.ebuild RDEPEND=">=x11-libs/gtk+-2.12 \ >=xfce-base/libxfcegui4-4.4.0 \ >=xfce-base/libxfce4util-4.4.0 \ >=media-libs/libmpd-0.15.0" DEPEND="${RDEPEND} \ dev-util/intltool" #RDEPEND=">=media-libs/libmpd-0.15.0 \ # >=dev-libs/glib-2.14:2 \ # >=x11-libs/gtk+-2.12:2 \ # ~xfce-base/libxfcegui4-${PV} \ # ~xfce-base/libxfce4util-${PV}" #=========xfce44.eclass==== #XFCE_CONFIG="${XFCE_CONFIG} $(use_enable dbus)" #DOCS="AUTHORS ChangeLog NEWS TODO README README.plugins README.remote" #============================================== #S="${WORKDIR}/${PN}${PV}" # src_unpack() # 这个函数用于解压源代码 # { # #当前ebuild可以不用声明此函数 但为了学习而显示一些变量而用的 # # ${S}是src_unpack函数起始执行的地方,由emerge系统自动创建 # #cp ${FILESDIR}/unmask.gz ${S} # #FILESDIR这个变量指明了我们存放该包的路径也就是 # #/usr/portage/local/myebuilds/app-portage/unmask/files # #gzip -d ${S}/unmask.gz # einfo "Start src_unpack()" # einfo "${P}" # einfo "\$\{S\}=${S}" # einfo "\$\{D\}=${D}" # einfo "\$\{FILESDIR\}=${FILESDIR}" # unpack ${A} # einfo "A = ${A}" # einfo "org S = ${S}" # einfo "WORKDIR = ${WORKDIR}" # cd "${S}" # einfo "after S = ${S}" # einfo "D = ${D}" # einfo "FEATURES=${FEATURES}" # } src_compile() { econf || die "=================econf failed=============" emake || die "emake failed" } # src_compile() { } #如果你需要编译什么东西,就在这个函数中完成. src_install() { einfo "Start src_install()" emake DESTDIR="${D}" install || die "emake install failed" # #dobin ${PN} #dodoc README CHANGELOG #推荐使用 make DESTDIR="${D}" install 方式 #einstall用于对付不正常Makefile } #------------------ 一个使用第三方ebuild的示例--------------------------- #sudo mkdir /usr/local/myportage/net-misc/g2ipmsg/files -p #cd /usr/local/myportage/net-misc/g2ipmsg/files #-------------------- #add PORTDIR_OVERLAY to /etc/make.conf #PORTDIR_OVERLAY="/usr/local/myportage" #PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/portage/local/layman/gentoo-china" #sudo sh -c "echo net-misc/g2ipmsg >> /etc/portage/package.keywords" #sudo sh -c 'echo "net-misc/g2ipmsg ssl applet doc systray >> /etc/portage/package.use' #不用这一步 #sudo ebuild ./g2ipmsg-0.9.5.ebuild digest #sudo sh -c "USE=doc emerge g2ipmsg" #cat /var/lib/portage/world | grep g2ipmsg #--------------------------------------------- #test for ebuild #repoman scan #repoman full #--------------------------------------------- #==========联系方式========== # mailto: [email protected] # QQ: 3444542 # gmail: [email protected] # irc: irc.freenode.org/#gentoo-cn GunsNRose # blog: http://hi.baidu.com/3444542/blog #============================
v1 : RDEPEND=">=x11-libs/gtk+-2.12 \ 写成了 DEPEND=">=x11-libs/gtk+-2.12 \ 导致无法找到依赖关系
学习记录:
v1 : 使用xfce44.eclass的话可以省去很多麻烦,在portage中有非常多类似的例子,如 gentoo-china的eva, 还有kde的例子
v2 : >=dev-libs/glib-2.14:2 :2 代表 SLOT=2 而非 EAPI="2" 好像理解有误,晚点再去学,干正事先
http://gentoo-wiki.com/EAPI
http://bugs.gentoo.org/show_bug.cgi?id=150368 这个里面有讲到,比较详细
http://zhllg.spaces.live.com/blog/cn...?wa=wsignin1.0
作者: axlrose 发布时间: 2008-03-31
作者: cbkid 发布时间: 2008-03-31
还是一直就这么散装?
作者: druggo 发布时间: 2008-03-31
作者: druggo
你的这些ebuild有放到哪个overlay去吗?
还是一直就这么散装? |
我自己的overlay
你的意思是说网上的overlay?
作者: axlrose 发布时间: 2008-03-31
作者: axlrose
我一般都放在我的 /usr/local/myportage/里面的
我自己的overlay 你的意思是说网上的overlay? |
作者: 食古不化 发布时间: 2008-03-31
作者: 食古不化
你可以和老大联系一下,放到gentoo-china的overlay里,方便大家
|
其实这个xfmpc可能过段时间就会在portage或者有的overlays上看到了
作者: axlrose 发布时间: 2008-03-31
应该先去gentoo-bugs提交。
我觉得放到gentoo-china的overlay就比较好。
作者: somebody 发布时间: 2008-03-31
作者: tlze 发布时间: 2008-04-01
因为我的英文实在太烂了,所以只有把里面所有的注释全部删除,目前我本机上备份两套ebuild,一份是带有中文注释版本的,另一份是提交gentoo-china的清洁版,大家有什么建议,或者有什么新的有用的简单的包还未发现有ebuild的,请与我联系,我空闲时间尽量搞定它,最近 update-eix-remote update在我的机子上不灵了,不晓得咋回事
对了,重要的一件事忘了,ebuild高手们冒个泡,空闲时间想请教一些关于ebuild的东西,zhllg上班时又不好意思打扰
[i] net-misc/prozilla [1]
Available versions: 2.0.4!m
Installed versions: 2.0.4!m(18时14分45秒 2008年02月29日)
Homepage: http://prozilla.genesys.ro/
Description: A multi-threaded download accelerator
作者: axlrose 发布时间: 2008-04-01
另外,软件的分类也和portage里的不一样,不知ebuild开发文档中有没有关于分类的相关规则。
作者: zhou3345 发布时间: 2008-04-01
如果现在的portage里有,就沿用portage的分类
如果没有,和大家商量一下
作者: zhllg 发布时间: 2008-04-01
分类问题实在是大意了
http://gentoo-overlays.zugaina.org/x...-extra.html.en 这里找到
* xfce-extra/xfmpc/xfmpc-9999
到时提前先还是让老大先检查一下吧
今天 sssslang 说要用 kipmsg 就试着写了一下,如果有多些 gentooer要的话也放进去吧
作者: axlrose 发布时间: 2008-04-01
作者: alaxie 发布时间: 2008-04-01
连接时需要什么库,运行时就需要什么库
./configure选项 --with-foo, --enable-bar, 这里foo bar就可以作为USE flag
如果目前没有这个foo USE你也可以自己加上,如果是自己的overlay,你可以随便加,叫什么名字都行。
如果要收入portage tree,你需要先发个RFC到gentoo-dev,征求大家意见。还需要改一个profile里的文件,取决于你的USE是global还是local。
作者: zhllg 发布时间: 2008-04-01
作者: alaxie 发布时间: 2008-04-01
作者: alaxie
我想问一下axlrose兄是如何知道一个软件编译和运行时依赖哪些库,有如何查到这些库对应的USE,谢谢。
|
http://devmanual.gentoo.org/
繁体版http://man.ddvip.com/linux/gentoo/ge...rt2_chap1.html
我的笔记http://hi.baidu.com/3444542/blog/ite...c7af48063.html
你的问题老大回答了,其实我在哪个网页上看到过的,看来要慢慢到我的BLOG上翻了,东西很乱
我的英文实在烂得不行了,有些ebuild的东西光靠stardict还不行,
今天回复了 gentoo bugs
http://bugs.gentoo.org/show_bug.cgi?id=215514
按理说老外看到我的回复就知道我英文有多烂了,gentoo文档我是没办法翻译了,只能靠学一下 ebuild来分享一下,能力有限,需要大家的共同努力
今天晚上回来同步了一下portage才发现xfmpc进了portage里面,已从gentoo-china中删除,添加了 kipmsg 这个东东是基于kde的,我在机子上试了,很棒
作者: axlrose 发布时间: 2008-04-02
作者: axlrose
兄台一起学ebuild吧,参考以下网址
http://devmanual.gentoo.org/ 繁体版http://man.ddvip.com/linux/gentoo/ge...rt2_chap1.html 我的笔记http://hi.baidu.com/3444542/blog/ite...c7af48063.html 你的问题老大回答了,其实我在哪个网页上看到过的,看来要慢慢到我的BLOG上翻了,东西很乱 我的英文实在烂得不行了,有些ebuild的东西光靠stardict还不行, 今天回复了 gentoo bugs http://bugs.gentoo.org/show_bug.cgi?id=215514 按理说老外看到我的回复就知道我英文有多烂了,gentoo文档我是没办法翻译了,只能靠学一下 ebuild来分享一下,能力有限,需要大家的共同努力 今天晚上回来同步了一下portage才发现xfmpc进了portage里面,已从gentoo-china中删除,添加了 kipmsg 这个东东是基于kde的,我在机子上试了,很棒 |
目前水平很菜,只能追随老兄你学点东西好了,呵呵
作者: alaxie 发布时间: 2008-04-02
作者: alaxie
我才刚接触gentoo,以前都是在用debian的,对ebuild很感兴趣,不过
目前水平很菜,只能追随老兄你学点东西好了,呵呵 |
后来转到gentoo, 放心吧,
多上irc.freenode.org #gentoo-cn
deb太复杂了,老学不会,还是ebuild相对容易学一些
到#gentoo-cn来吧,我在那里的ID是GunsNRose
到时把我学习ebuild的心得拿来分享一些,不过现在水平很菜 :(
作者: axlrose 发布时间: 2008-04-02
作者: axlrose
我以前是用ubuntu-->debian的
后来转到gentoo, 放心吧, 多上irc.freenode.org #gentoo-cn deb太复杂了,老学不会,还是ebuild相对容易学一些 到#gentoo-cn来吧,我在那里的ID是GunsNRose 到时把我学习ebuild的心得拿来分享一些,不过现在水平很菜 :( |
作者: alaxie 发布时间: 2008-04-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28