$ add_changelog node.spec ошибка: строка 175: Пакет не существует: %description -n npm ошибка: запрос файла спецификации node.spec не удался, невозможно разобрать файл ошибка: строка 175: Пакет не существует: %description -n npm ошибка: запрос файла спецификации node.spec не удался, невозможно разобрать файл add_changelog: node.spec: version "" unchanged, skipping Кусок спека: %def_without npm %def_without nodejs_abi ... %if_with npm %package -n npm Version: %npmver Group: Development/Tools Summary: A package manager for node License: MIT License Requires: node BuildArch: noarch AutoReq: yes,nopython %if_with nodejs_abi Requires: nodejs(abi) = %{nodejs_abi} %endif %description -n npm npm is a package manager for node. You can use it to install and publish your node programs. It manages dependencies and does other cool stuff. %endif
Поискал, но не смог найти обсуждения проблемы со вложенными условиями. Но мне казалось, что где-то вопрос поднимался. Какие у нас рекомендации? Писать спеки без вложенных условий? Переписывать add_changelog самостоятельно?
На самом деле это $ rpm -q --qf '%{CHANGELOGNAME}\n' --specfile спек ошибка: спек:68: Найден %endif без %if rpm-4.13.0.1-alt24
Утилита srpmtool умеет вложенные условия. Вызывается srpmtool --add-changelog name.spec (сокращенно srpmtool --add-ch )
Только rpmbuild их обрабатывает не как вложенные. rpmspec хотя бы диагностирует это, а rpm-build просто обрабатывает не так, как ожидается.
(Ответ для Dmitry V. Levin на комментарий #4) > Только rpmbuild их обрабатывает не как вложенные. > rpmspec хотя бы диагностирует это, а rpm-build просто обрабатывает не так, > как ожидается. Я правильно понимаю, что эта фраза означает, что add_changelog можно было бы починить, но потом пакет неправильно соберётся при наличии вложенных условий?