Bug 38130 - add_changelog не работает с вложенными условиями
Summary: add_changelog не работает с вложенными условиями
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-20 03:12 MSK by Vitaly Lipatov
Modified: 2024-02-02 13:54 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2020-02-20 03:12:33 MSK
$ 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
Comment 1 Vitaly Lipatov 2020-03-10 23:24:25 MSK
Поискал, но не смог найти обсуждения проблемы со вложенными условиями. Но мне казалось, что где-то вопрос поднимался.
Какие у нас рекомендации? Писать спеки без вложенных условий? Переписывать add_changelog самостоятельно?
Comment 2 Vitaly Lipatov 2021-01-23 22:47:18 MSK
На самом деле это 
$ rpm -q --qf '%{CHANGELOGNAME}\n' --specfile спек
ошибка: спек:68: Найден %endif без %if

rpm-4.13.0.1-alt24
Comment 3 viy 2023-11-10 20:21:15 MSK
Утилита srpmtool умеет вложенные условия. Вызывается
srpmtool --add-changelog name.spec
(сокращенно srpmtool --add-ch )
Comment 4 Dmitry V. Levin 2023-11-10 20:53:33 MSK
Только rpmbuild их обрабатывает не как вложенные.
rpmspec хотя бы диагностирует это, а rpm-build просто обрабатывает не так, как ожидается.
Comment 5 Vitaly Lipatov 2024-02-02 13:54:48 MSK
(Ответ для Dmitry V. Levin на комментарий #4)
> Только rpmbuild их обрабатывает не как вложенные.
> rpmspec хотя бы диагностирует это, а rpm-build просто обрабатывает не так,
> как ожидается.
Я правильно понимаю, что эта фраза означает, что add_changelog можно было бы починить, но потом пакет неправильно соберётся при наличии вложенных условий?