【发布时间】:2014-12-12 05:52:58
【问题描述】:
我有 Python 2.7.5 并且正在使用 distutils (python setup.py bdist_rpm) 创建以下 RPM...
me@hostname:/tmp/dist$ rpm -qpil myApp-2.0.146-1.noarch.rpm
Name : myApp
Version : 2.0.146
Release : 1
Architecture: noarch
Install Date: (not installed)
Group : Development/Libraries
Size : 290576
License : GPL
Signature : (none)
Source RPM : myApp-2.0.146-1.src.rpm
Build Date : Wed 15 Oct 2014 02:57:08 PM EDT
Build Host : hostname.example.lan
Relocations : /usr
Vendor : Me <me@example.lan>
URL : https://otherhost.example.lan/myApp
Summary : My application
Description :
My application
/tmp/myApp/CHANGELOG
/tmp/myApp/README
/tmp/myApp/some.sh
/tmp/myApp/some.py
/tmp/myApp/libs/another.py
/tmp/myApp/libs/another.sh
...
我想要实现的是在安装 RPM 时文件被放入...
/usr/local/bin/CHANGELOG
/usr/local/bin/README
/usr/local/bin/some.sh
/usr/local/bin/some.py
/usr/local/bin/libs/another.py
/usr/local/bin/libs/another.sh
...
...而不是在 /tmp 中。
是的,我了解 位置 在您看来可能是错误的/低于标准/非常规/非最佳实践/愚蠢/whatev,但这是必须的。我只是不知道该怎么做。我可以/应该在我的 distutils setup() 中做些什么(也许当我填充 setup() 的 data_files 参数时?这不重要,但我将分享以下内容,只是为了传达我可以灵活地调用 @987654327 @.我的setup.py是由另一个Python脚本动态创建的,然后由另一个脚本通过subprocess运行。
我不知道是否可以“暂停”setup.py,以便我可以操作规范文件。我不能chroot 伪造东西。不知道如何处理,但看起来应该很简单。
【问题讨论】:
标签: python rpm distutils rpmbuild rpm-spec