免费注册 查看新帖 |

Chinaunix

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

自己写的spec文件生成RPM有点小问题,求指点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-01 20:55 |只看该作者 |倒序浏览
自己写了个简单的spec文件要把源码打包为rpm希望安装在/usr/local/bin目录下而不是/usr/bin下
buildroot为:
BuildRoot: %{_tmppath}/%{name}-root

intall部分为:
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install

要安装的程序名字是abc,理论上临时目录应该是/var/tmp/abc/usr/local/bin要安装的文件都应该在这里
可是我发现在/var/tmp/abc/usr/bin目录下也会生成我要安装的文件,这样的话我的rpm安装后程序会同时出现在/usr/bin和/usr/local/bin目录下,我不希望这样。
我查看了rpm生成过程的临时文件/var/tmp/rpm-tmp.95406这个文件,有这么一段
rm -rf $RPM_BUILD_ROOT
  /usr/bin/make \
        prefix=/var/tmp/abc/usr \
        exec_prefix=/var/tmp/abc t/usr \
        bindir=/var/tmp/abc/usr/bin \
        sbindir=/var/tmp/abc/usr/sbin \
        sysconfdir=/var/tmp/abc/etc \
        datadir=/var/tmp/abc/usr/share \
        includedir=/var/tmp/abc/usr/include \
        libdir=/var/tmp/abc/usr/lib \
        libexecdir=/var/tmp/abc/usr/libexec \
        localstatedir=/var/tmp/abc/var \
        sharedstatedir=/var/tmp/abc/usr/com \
        mandir=/var/tmp/abc/usr/share/man \
        infodir=/var/tmp/abc/usr/share/info \
  install
make DESTDIR=$RPM_BUILD_ROOT install

很明显这段脚本在两个不同的目录执行了两次make install
怎么解决?

我还尝试了一下在%install 段去掉 make DESTDIR=$RPM_BUILD_ROOT install 竟然也能正常使用。。。程序都装在了/usr/bin下。
RPM生成过程中的在/var/tmp目录下生成的那些形如rpm-tmp.95406的文件是怎么来的?我能不能直接控制修改这个文件里的脚本?

论坛徽章:
0
2 [报告]
发表于 2010-02-03 10:19 |只看该作者
没有人知道么?

论坛徽章:
0
3 [报告]
发表于 2010-03-11 22:42 |只看该作者
我帮你翻出来看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP