Понятно, что косметика, но очень даже может сбить с толку, если не знать/забыть о том, что у 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.
Вообще, многие макросы в rpm и rpm-build отличаются. Разработчики rpm-build говорят, что это нормально.
(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.