Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install Uapi/shield crate to staging #10

Merged
merged 27 commits into from
Dec 20, 2024
Merged

Conversation

fvalette-ledger
Copy link
Collaborator

@fvalette-ledger fvalette-ledger commented Dec 6, 2024

  • create local registry at startup
  • remove nigthly cargo
  • install uapi
  • install shield
  • install deps (kconfig, metadata)
  • install task
  • relink task

returns true if cargo index lock file exists.
@fvalette-ledger fvalette-ledger added build-system About build system fixes and update feature New feature added labels Dec 6, 2024
Allow to capture stdout as text while executing command.
remove --out-dir option
Add OUT_DIR variable.

 /!\ /!\ UBER WARNING  /!\ /!\
Those arn't related at all even of they are named the same ...
OUT_DIR is for build script output dir
--out-dir an experimental feature that allow user to override the
output dir for crate build (renamed artifact-dir but still a nightly
feature).
at setup, deploy a new cargo local registry if required and install
kernel crates.
Using the built-in decorator, can be used either as context manager
(with statement) or decorator.

 > Note that this feature is added to contextlib since python 3.11.

Our minimal python requirement is 3.10...
Blake and flake8 will check for W504 rule which is incompatible
with W503 rule.

**BUT**

Flake8 will check both by default which leads to impossible compliance
in case of line too long (impossible split where operator at the
end and the beginning are forbiden at the same time).
Cargo index will silently change directory to cargo manifest root dir.
This breaks the cargo config path resolver and barbican local registry
is not "parsed" by cargo and packaging may fail.

Instead, call cargo package and then, push the crate w/ cargo index
instead of manifest use for cargo index add.
--force option does not seem to have any effect while used with
`--crate` instead of `--manifest-path`. So, forge index entry based
on crate name, i.e. 'index/<2 first letters>/<2 next letters>/<name>'
and remove index entry.
use the kernel metadata to retreive linker and objcopy to use
in case of non introspectable package (i.e. non Meson).

TODO: may be every package should use kernel metadata for thus purpose
as all meson package are built with the same cross-file.
cargo build binary w/o extension but inner build system requires
that elf to be integrated to firmware got this extension.
This is appended by install step.
linker pass through rustflags will fail to be resolved from build
script. So, we have to filter this flags out from rustflags and add
a dedicated specific target entry in config.toml.
@fvalette-ledger fvalette-ledger marked this pull request as ready for review December 20, 2024 14:15
@fvalette-ledger fvalette-ledger merged commit c7c89e5 into main Dec 20, 2024
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-system About build system fixes and update feature New feature added
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants