Если в хост-системе не стоит 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
Между прочим, давно исправлено в 0.29-alt2. Неплохо бы отражать это в bugzilla.
Что, сам повесил, сам испрвил, и сам закрыть забыл? Закрываю...