免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8353 | 回复: 6
打印 上一主题 下一主题

[其他] zenoss打包rpm的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-21 17:08 |只看该作者 |倒序浏览
我下载了zenoss的源码包  解压后修改了部分代码,重新打包成rpm,过程中遇到错误:如图
使用命令rpmbuild -ba myzenoss.spec
会的大神给看看。

论坛徽章:
0
2 [报告]
发表于 2014-08-21 17:09 |只看该作者
自己顶一下,rpm打包zenoss  做过的同志一起来讨论

论坛徽章:
0
3 [报告]
发表于 2014-08-22 10:33 |只看该作者
难道没有人知道么   求助 自己顶

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
4 [报告]
发表于 2014-08-27 11:37 |只看该作者
bad exit status是你自己的程序问题。 你要看看是否改错了。

另外,如果修改的代码不能打包,你看看用原来的解包文件,是否可以直接打包,有没有同样的问题。

论坛徽章:
0
5 [报告]
发表于 2014-08-28 13:00 |只看该作者
回复 4# rdcwayx


    以上问题都已经解决,可是又有新的问题  在%install部分 最后报错:

ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/array.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_curses_panel.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/zlib.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/grp.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_ctypes.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_codecs_cn.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/time.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/future_builtins.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/operator.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/unicodedata.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/pyexpat.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_multibytecodec.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_codecs_tw.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_multiprocessing.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_codecs_kr.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_heapq.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/linuxaudiodev.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/_ssl.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/select.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/lib-dynload/readline.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
ERROR   0002: file '/opt/zenoss/lib/python2.7/site-packages/icmpecho/_network.so' contains an invalid rpath '/opt/zenoss/lib' in [/opt/zenoss/lib]
*******************************************************************************
*
* WARNING: 'check-rpaths' detected a broken RPATH and will cause 'rpmbuild'
*          to fail. To ignore these errors, you can set the '$QA_RPATHS'
*          environment variable which is a bitmask allowing the values
*          below. The current value of QA_RPATHS is 0x0000.
*
*    0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor
*               issue but are introducing redundant searchpaths without
*               providing a benefit. They can also cause errors in multilib
*               environments.
*    0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute
*               nor relative filenames and can therefore be a SECURITY risk
*    0x0004 ... insecure RPATHs; these are relative RPATHs which are a
*               SECURITY risk
*    0x0008 ... the special '$ORIGIN' RPATHs are appearing after other
*               RPATHs; this is just a minor issue but usually unwanted
*    0x0010 ... the RPATH is empty; there is no reason for such RPATHs
*               and they cause unneeded work while loading libraries
*    0x0020 ... an RPATH references '..' of an absolute path; this will break
*               the functionality when the path before '..' is a symlink
* Examples:
* - to ignore standard and empty RPATHs, execute 'rpmbuild' like
*   $ QA_RPATHS=$[ 0x0001|0x0010 ] rpmbuild my-package.src.rpm
* - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like
*   $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths
*  
经过查找, 发现应该是我的Build Root设置的问题,查了写资料,了解了下该选项的设置,但是还是没找到原因。
我的spec文件部分设置:

Name: zenoss
Summary: Zenoss Core
URL: http://www.zenoss.org
Version: 4.2.4
Release: 1897.el6
License: Copyright (c) 2005-2013 Zenoss, Inc.  All rights reserved.  Use is subject to terms as shown in the License.zenoss file.
Vendor: Zenoss, Inc.
Packager: RPM Builder <dev.zenoss.com>
Group: Applications/System
Source0: zenoss_core-4.2.4-1897.el6.x86_64.tar.bz2
#BuildRoot: /home/buildslave/zenoss_core-4.2.4/obj/redhat/pkg_root/zenoss_core-4.2.4
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

Provides: zenoss = %{version}-%{release}
Provides: zenoss_core = %{version}-%{release}

对于BuildRoot两种方式都试过 还是报错。
查看了/usr/lib/rpm/redhat/macros


%__spec_install_pre %{___build_pre}\
    [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"\
    mkdir -p `dirname "$RPM_BUILD_ROOT"`\
    mkdir "$RPM_BUILD_ROOT"\
%{nil}

发现在%insall开始的时候 会清理一次虚拟的根目录。
可是需要打包的文件不是都是安装在这个目录里面么。这点很费解。希望得到答案。谢谢

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
6 [报告]
发表于 2014-08-28 13:43 |只看该作者
你做到这个程度,已经比别人知道很多了。

这个是提示, 你自己按照建议调试一下吧。
  1. * Examples:
  2. * - to ignore standard and empty RPATHs, execute 'rpmbuild' like
  3. *   $ QA_RPATHS=$[ 0x0001|0x0010 ] rpmbuild my-package.src.rpm
复制代码

论坛徽章:
0
7 [报告]
发表于 2014-08-28 14:16 |只看该作者
回复 6# rdcwayx


    哎 关键就是调试了一天了,也没有个结果。不知道该如何去修改我的spec文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP