2014-10-16 2 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 
... 

То, что я пытаюсь достичь, когда обороты устанавливаются файлы, которые можно ввести в ...

/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 так что я могу манипулировать файл спецификаций. Я не могу chroot фальсифицировать вещи. не знаю, как чтобы справиться с этим, но кажется, что это должно быть просто.

ответ

0

Ответ: Вместо того, чтобы динамически генерировать setup.py и использовать distutils (что кажется hav некоторые ограничения). Теперь я создаю rpmbuild .spec и могу делать то, что мне нужно.

Cheers.

Смежные вопросы