Bug 48459 - Надёжно включать оптфлаги, full relro, сделать поддержку cargo install
Summary: Надёжно включать оптфлаги, full relro, сделать поддержку cargo install
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build-rust (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Arseny Maslennikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-15 18:27 MSK by Arseny Maslennikov
Modified: 2023-11-15 18:27 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.