Установка имени пакета RPM в bdist_rpm - PullRequest
10 голосов
/ 19 августа 2011

Я использую Python setuptools для сборки пакета.Я хотел бы назвать параметр rpm, созданный из bdist_rpm, отличным от имени пакета Python из-за некоторых ограничений именования.

Можно ли это сделать в setup.cfg в разделе [bdist_rpm]?

Ответы [ 3 ]

3 голосов
/ 28 ноября 2013

Инструмент fpm упрощает создание пакета RPM и изменение имени или другого параметра. По умолчанию fpm делает RPM с префиксом " python- ", но имя пакета можно задать с помощью параметра -n . Пример:

fpm -s python -t rpm -n my_package_name <python-source-library>/setup.py
2 голосов
/ 25 апреля 2012

Ну, это действительно немного нестандартно и поэтому не поддерживается напрямую.Однако вы можете сделать python setup.py bdist_rpm --spec-only, и это сгенерирует spec-файл внутри dist / named project.spec, начиная с этого:

%define name [name of your pkg as defined in setup.py]
%define version [version of your pkg]
%define unmangled_version [version of your pkg]
%define release 1

Summary: PyQt4 application to download trailers from www.apple.com/trailers
Name: %{name} # THIS IS WHAT YOU WANT TO CHANGE
Version: %{version}
Release: %{release}
Source0: %{name}-%{unmangled_version}.tar.gz

Чтобы успешно построить rpm, вам нужно:

  1. переименуйте файл спецификации в [новое имя] .spec
  2. меняйте каждый раз% {name} на [новое имя]
  3. rpmbuild -ba [newname.spec] (после помещения файловв директориях, где rpmbuild найдет их)

Я уверен, что вы могли бы каким-то образом автоматизировать это, если бы вы действительно хотели

1 голос
/ 12 января 2017

Python 2.7 +

Согласно документам , python setup.py bdist_rpm --name="new-package-name" должно работать.

Похоже, что это не относится к python-2.6, так как вы получите ошибку error: option --name not recognized при попытке запустить команду.

Python 2.6

Я обнаружил, что редактирование setup.py работает:

(...)
setup(
    name = 'new-package-name',
    description = "Python package that does the thing",
(...)

После этого просто запустите python setup.py bdist_rpm, и rpm получит новое имя.

...