2015-11-30 3 views
2

Я пытаюсь получить python distutils, чтобы создать мне RPM. Это очень сложно!
На моем mac все работает нормально, но на CentOS 6.7 (мой сервер CI) это не связано с различиями. RPM построены для разных платформ.
На CentOS .py файлы предварительно скомпилированы rpm/brp-python-bytecompile. Это создает .pyc и .pyo файлы, которых нет в списке bdist_rpm и таким образом я получаю сообщение!
Я нашел this issue и this issue, но они давно давным-давно! Поэтому я удивлен, что все еще вижу это! Есть ли какая-нибудь работа? Я не хочу создавать spec-файл, я использую bdist_rpm, чтобы избежать его ... Спасибо.CentOS 6.7, python distutils и bloody brp-python-bytecompile

Вот пример структуры материала, который я пытаюсь пакет:

<root>/ 
    setup.py 
    my-awesome-app.py 
    help-scripts/ 
     extract-config.py 

Вот мой setup.py:

from distutils.core import setup 
setup(name='my-awesome-app', 
    version='1.0', 
    author='Daniel Gruszczyk', 
    scripts=['my-awesome-app.py'], 
    data_files=[('/etc/bake',['help-scripts/extract-config.py'])], 
    ) 

Вот пример вывода из работы python setup.py bdist_rpm (только линии, ведущие к ошибка):

+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /var/lib/jenkins/workspace/my-awesome-app/build/bdist.linux-x86_64/rpm/BUILD/my-awesome-app-1.0 
+ /usr/lib/rpm/check-buildroot 
+ /usr/lib/rpm/redhat/brp-compress 
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip 
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump 
+ /usr/lib/rpm/brp-python-bytecompile 
+ /usr/lib/rpm/redhat/brp-python-hardlink 
+ /usr/lib/rpm/redhat/brp-java-repack-jars 
Processing files: my-awesome-app-1.0-1.noarch 
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 
Requires: /var/lib/jenkins/.pyenv/versions/2.7.5/bin/python 
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/lib/jenkins/workspace/my-awesome-app/build/bdist.linux-x86_64/rpm/BUILDROOT/my-awesome-app-1.0-1.x86_64 
error: Installed (but unpackaged) file(s) found: 
    /etc/help-scripts/extract-config.pyc 
    /etc/help-scripts/extract-config.pyo 

Я думаю + /usr/lib/rpm/brp-python-bytecompile линии это проблема (учитывая ссылки, которые я включил). Есть ли способ избавиться от этого дерьма, поскольку он, кажется, вызывает проблемы вокруг?

ответ

2

Эти ошибки старые, но также CentOS6.

Bdist_rpm очень прост, и как только вы достигнете своего предела, вы в тупике. И я действительно боюсь, что никто не скажет вам, как исправить это, используя setup.py. Еще на эту тему написано здесь: http://ziade.org/2011/03/25/bdist_rpm-is-dead-long-life-to-py2rpm/

Я очень рекомендую вам использовать: pyp2rpm - https://github.com/fedora-python/pyp2rpm

+0

Ура, это интересно читать. Я закончил работу с плагином maven rpm build, и нашел, что это хорошо документировано и работает очень хорошо. –

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