update rust version
This commit is contained in:
1 parent
17f1de681e
commit
af78f6528c
7 files changed
+307
-9
No files matched your search
@@ -124,6 +124,31 @@ APPLY_FREEBSD_PATCHES=1
|
||||
|
||||
`OPNSENSE_RETENTION=10` zachowuje ostatnie 10 wersji pakietu dla danej serii/architektury OPNsense. `0` wyłącza usuwanie starych wersji.
|
||||
|
||||
## Automatyczny Rust toolchain podczas budowania
|
||||
|
||||
Builder sprawdza `rust-version` w `Cargo.toml` **pobranego commita** i opcjonalny
|
||||
`rust-toolchain.toml`/`rust-toolchain` przed kompilacją każdej gałęzi.
|
||||
|
||||
- **Linux DEB/RPM:** używa istniejącego `stable`; wywołuje `rustup` tylko,
|
||||
gdy brakuje toolchainu albo wersja jest starsza od wymaganej przez projekt.
|
||||
- **FreeBSD/OPNsense:** `FREEBSD_RUST_TOOLCHAIN` pozostaje bazowym toolchainem.
|
||||
Gdy jest starszy od `rust-version`, builder automatycznie dobiera wersję
|
||||
minimalną projektu oraz doinstalowuje target `x86_64-unknown-freebsd`.
|
||||
- Jeśli projekt przypina konkretny toolchain, builder **respektuje pin**.
|
||||
Sprzeczny pin i `rust-version` powodują czytelny błąd zamiast cichej zmiany.
|
||||
- Testy i build danej gałęzi używają tego samego wybranego toolchainu.
|
||||
- Aktualizacja nie zmienia globalnego `rustup default`, systemowych pakietów
|
||||
ani wersji już opublikowanych pakietów RustProxy.
|
||||
- Toolchainy pobrane w trakcie działania są w warstwie kontenera
|
||||
(`/opt/rustup`); po **odtworzeniu kontenera** mogą wymagać ponownego pobrania.
|
||||
Cache Cargo w `data/cargo` pozostaje trwały.
|
||||
- Jeśli pobranie toolchainu lub kompilacja się nie powiedzie, dany kanał
|
||||
nie zostaje opublikowany; pozostały kanał builder obsługuje niezależnie.
|
||||
|
||||
Działanie nie wymaga nowej opcji w `.env`. Uruchom `./start.sh`, żeby
|
||||
przebudować obraz z nowym skryptem. Aktualizacje toolchainu na podstawie
|
||||
źródeł będą potem automatyczne przy kolejnych buildach.
|
||||
|
||||
## FreeBSD cross-build
|
||||
|
||||
Obraz buildera pobiera i weryfikuje `base.txz` dla `FREEBSD_RELEASE`, a następnie używa:
|
||||
|
||||
Reference in new issue
Block a user