Rpm打包中shebang的问题

今天在rpm打包和安装的过程中发现了这样一个问题: 打包文件中包含若干可执行脚本, 因为环境原因, 将shebang那行改了下路径, 打完包后安装提示缺少对应的依赖.

举个简单的例子, 例如我有这样一个脚本:

hello.py
1
2
3
#!/some/other/place/python

print 'hello'

如果我将该脚本打包后安装, 如果目标机器没有对应的python, 则会报error: Failed dependencies, 对应的内容刚好是shebang的内容.

使用指令rpm -qpR package.rpm一查, 果然有依赖. 好吧, 我在desc文件中没有指定对应的依赖, 怎么这就有依赖了呢?

通过一番搜索, 找到了对应的问题, 原来在打rpm包时, 会自动将相关脚本的shebang加入到依赖中. 具体可以参考这儿这儿

解决方法是在desc文件中添加一行AutoReq: 0. Yeah~

Comments