update rust version

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-10 23:34:10 +02:00
1 parent 17f1de681e
commit af78f6528c
7 files changed
+307 -9

No files matched your search

+25
View File
@@ -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: