Bug 40600 - [e2k] различное значение _optlevel в rpm и rpmbuild
Summary: [e2k] различное значение _optlevel в rpm и rpmbuild
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm (show other bugs)
Version: unstable
Hardware: e2k Linux
: P5 minor
Assignee: Andrew Savchenko
QA Contact: qa-sisyphus
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2021-07-29 09:42 MSK by Michael Shigorin
Modified: 2021-08-09 21:57 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2021-07-29 09:42:07 MSK
Понятно, что косметика, но очень даже может сбить с толку, если не знать/забыть о том, что у rpm-4.13-alt и rpm-build-4.0.4-alt _раздельные_ макропакеты:

$ rpm --eval %_optlevel
2
$ rpmbuild --eval %_optlevel
3
rpmbuild: no spec files given for build
$ rpmquery rpm rpm-build
rpm-4.13.0.1-alt24.e2kv5
rpm-build-4.0.4-alt170.E2K.1.e2kv5

Хорошо бы условную логику OPTLEVEL воспроизвести и в rpm.
Comment 1 Ivan A. Melnikov 2021-07-30 10:31:34 MSK
Вообще, многие макросы в rpm и rpm-build отличаются. Разработчики rpm-build говорят, что это нормально.
Comment 2 Andrew Savchenko 2021-08-09 21:57:50 MSK
(In reply to Ivan A. Melnikov from comment #1)
> Вообще, многие макросы в rpm и rpm-build отличаются. Разработчики rpm-build
> говорят, что это нормально.

Вы совершенно правы, мало того, они в текущих сизифных rpm и rpm-build даже на x86_64 расходятся:

[builder@localhost .in]$ rpm --eval %optflags
-O2 -g
[builder@localhost .in]$ rpmbuild --eval %optflags
-pipe -frecord-gcc-switches -Wall -g -O2
rpmbuild: no spec files given for build

Так что это не баг. Вообще, мы уже много раз с Мишей этот вопрос обсуждали, начиная с нескольких лет назад. Печально, что он возникает вновь и вновь. Возможно,  следует сделать на wiki заметку, хоть со ссылкой на этот баг.

Могу предложить доработать rpmbuild, чтоб не ругался на отсутствие spec-файла, понимал -E и добавить описание -E --eval. Давно собираюсь это сделать, но находятся всё более срочные задачи.

Возможно, следует вовсе убрать из rpm макросы, относящиеся только к rpm-build. Как я помню обсуждение этого вопроса с Глебом, были опасения что неизвестно что и где может отломаться, поэтому был сохранён статус кво. Если развитие этой темы интересно, рекомендую завести отдельный баг, а ещё лучше обсудить на devel.