Bug 41099

Summary: optflags_lto: redefinition conflicts with add_optflags
Product: Sisyphus Reporter: viy <viy>
Component: rpm-buildAssignee: placeholder <placeholder>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: arseny, glebfm, imz, ldv, placeholder, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
пакет для тестирования ошибки none

Description viy 2021-10-12 13:29:28 MSK
Created attachment 9803 [details]
пакет для тестирования ошибки

optflags_lto неудачно определено так, что в итоге если в спеке есть
рекомендуемое переопределение для optflags_lto
%{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects}
то оно сбрасывается при вызове %add_optflags.

Пример спека для тестирования во вложении.
также пример ошибки в
#286713 FAILED #1 [test-only] sisyphus srpm=test-lto-add-optflags-1-alt1.src.rpm
Comment 1 viy 2021-10-12 13:31:11 MSK
При чем %add_optflags может быть и перед %{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects},
%optflags_lto все равно будет сбршен.
Comment 2 Dmitry V. Levin 2021-10-12 13:45:43 MSK
После вызова %add_optflags/%remove_optflags все макросы, используемые для определения %optflags, в т.ч. %optflags_lto, утрачивают своё значение и больше не используются.

Таким образом, вызовы %add_optflags/%remove_optflags должны быть последними.