Bug 9974 - Без python в системе создаётся битый src.rpm для любого модуля python
: Без python в системе создаётся битый src.rpm для любого модуля python
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/rpm-build-python)
: unstable
: all Linux
: P2 major
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2006-09-08 20:46 by
Modified: 2006-11-20 18:47 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-09-08 20:46:20
Если в хост-системе не стоит python, собирется src.rpm, из которого невозможно
ничего собрать, потому что в этом src.rpm-е указана версия питона "unknown".
Причина: rpm-макрос %__python_version вызывает python, а если его нет --
возвращает строку unknown (ошибку rpm-макрос возвращаться не должен). Как уже
пиалось в devel@, проблему можно обойти, добавив в _каждый_ спек
BuildRequires(pre), либо там же вручную переопределять %__python_version.

Без этого информации в спеке недостаточно для создания src.rpm, и никакой
сборочный робот с такой задачей не справится. Это стопроцентно тормозит переход
Сизифа на git.

Вместе с тем информация о последней версии python присутствует в неявном виде в
/etc/rpm/macros.d/python, например, в %_check_bound_python_version (это
последняя из попыток %_check_python_version:).

Предложение: добавить в /etc/rpm/macros.d/python информацию о последней версии
python в явном виде, но переопределять %__python_version только в случае, если
стандартный способ "unknown". Патч прилагается:

--- rpm-build-python/python     2006-09-08 18:46:35 +0400
+++ /home/george/hasher/chroot/etc/rpm/macros.d/python  2006-09-08 18:43:36
+0400
@@ -18,2 +18,5 @@
 #
+
+%__python_version_unknown 2.4
+
 %_check_python_version_internal() \
@@ -61,2 +64,3 @@
 %_setup_python_module_internal()        \
+%{expand: %{expand:%%{?__python_version_%__python_version:%%%%global
__python_version %__python_version_unknown}}} \
 %{expand: %%global modulename %{1}} \

Steps to Reproduce:
1.[No python in system]$ rpm -bs --nodeps RPM/SPECS/python-module-blah.spec 
Wrote: /usr/src/RPM/SRPMS/python-module-blah-0.2-alt1.src.rpm
2.[No python in system]$ rpm -q --requires -p
/usr/src/RPM/SRPMS/python-module-blah-0.2-alt1.src.rpm
Actual Results:  
rpm-build-python  
rpmlib(VersionedDependencies) <= 3.0.3-1
python-devel = unknown
rpmlib(CompressedFileNames) <= 3.0.4-1


Expected Results:  
rpm-build-python  
rpmlib(VersionedDependencies) <= 3.0.3-1
python-devel = 2.4
rpmlib(CompressedFileNames) <= 3.0.4-1
------- Comment #1 From 2006-11-16 23:23:44 -------
Между прочим, давно исправлено в 0.29-alt2.
Неплохо бы отражать это в bugzilla.
------- Comment #2 From 2006-11-20 18:47:54 -------
Что, сам повесил, сам испрвил, и сам закрыть забыл? Закрываю...