|
发表于 2011-10-11 17:40:30
|
显示全部楼层
Post by mathfeel;2153312
问题的根源来自ebuild:- dosym /opt/pps/bin/PPStream /usr/bin/PPStream || die
- dosym /opt/pps/lib/libemscore.so.0.1.* /usr/bin/libemscore.so || die
- dosym /opt/pps/lib/libemsnet.so.0.1.* /usr/bin/libemsnet.so || die
- dosym /opt/pps/lib/libemscore.so.0.1.* /usr/lib/libemscore.so.0 || die
- dosym /opt/pps/lib/libemsnet.so.0.1.* /usr/lib/libemsnet.so.0 || die
复制代码 绝对路径不能用*。在还未安装前/opt/pps/lib还未存在所以*找不到。所以装了一堆死symlink。
另外是.deb里的postinst是把共享函数库的symlink放在/usr/lib/下而不是/usr/bin/。
再另外/opt里装的binary包symlink应该放/opt/bin/
修改和测试后的ebuild src_install部分:- src_install() {
- local lib
- insinto /opt/pps/share
- doins opt/pps/share/default_background.gif || die "doins failed."
- exeinto /opt/pps/bin
- doexe opt/pps/bin/* || die "doexe failed."
- exeinto /opt/pps/lib
- for f in opt/pps/lib/lib*.so.0.1*; do
- local l=`basename $f`
- doexe ${f} || die "doexe failed."
- dosym ${l} /opt/pps/lib/${l%.so.*}.so || die
- dosym ${l} /opt/pps/lib/${l%.so.*}.so.0 || die
- dosym /opt/pps/lib/${l} /usr/lib/${l%.so.*}.so || die
- dosym /opt/pps/lib/${l} /usr/lib/${l%.so.*}.so.0 || die
- done
- insinto /usr/share/applications
- doins usr/share/applications/pps.desktop || die "doins failed."
- insinto /usr/share/icons/pps
- doins usr/share/icons/pps/pps_logo.png || die "doins failed."
- insinto /etc
- doins etc/ems.conf || die "doins failed."
- dosym /opt/pps/bin/PPStream /opt/bin/PPStream || die
- }
复制代码
thanks, 已顺手更新。请各位更新gentoo-cn。 |
|