2014-10-16 90 views
0

我的Python 2.7.5和使用的distutils(python setup.py bdist_rpm)正在创建以下RPM ...Python distutils来 - 更改路径RPM将安装到

[email protected]:/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 <[email protected]> 
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()做(也许当我填充data_files参数setup()?这应该无关紧要,但我将分享以下简单地传达我有灵活性调用setup()。我的setup.py是动态创建的另一个Python脚本,然后由其他脚本通过subprocess运行。

我不知道这是可能的“暂停” setup.py这样我就可以操纵spec文件做的。我不能chroot假的东西。不知道怎么样来处理这个,但它似乎应该很简单

回答

0

答案:而不是动态生成setup.py和使用distutils(这似乎hav e一些限制)我现在生成一个rpmbuild .spec并可以做我需要的。

干杯。