Bug 48459

Summary: Надёжно включать оптфлаги, full relro, сделать поддержку cargo install
Product: Sisyphus Reporter: Arseny Maslennikov <arseny>
Component: rpm-build-rustAssignee: Arseny Maslennikov <arseny>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: obirvalger
Version: unstable   
Hardware: all   
OS: Linux   

Description Arseny Maslennikov 2023-11-15 18:27:37 MSK
Для того, чтобы упростить корректную сборку наших сторонних пакетов на Rust (это сегодня преимущественно, если не исключительно, приложения), предлагаю сделать следующее:

- передавать -Wl,-z,relro -Wl,-z,-now, или как у rustc принято это передавать, в числе rustflags;
- назначать rustflags в помещаемом в сборочную среду config.toml, чтобы cargo и rustc подхватывали его на всех стадиях работы rpmbuild;
  - да, тому же cargo install они тоже нужны, и отличие rustфлагов в %build и %install — одна из причин, почему cargo install принимает решение пересобрать все крейты;
- явно назначить CARGO_HOME для сборки (эту идею я всё-таки стащил у федоры); может быть строго полезно тем, кто гоняет rustup в хешере, в остальных случаях %_builddir/cargo-home нагляднее, чем $HOME/.cargo;
- включить в config.toml term.verbose=true.

А лучше ещё и автоматизировать cargo vendor + патч на config.toml, но не факт, что решение этой задачи уже на совести rpm-build-rust.