mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2026-10-25 06:17:39 -05:00
Fix the remaining prerequisite docs and record review decisions
Point the build blocks and troubleshooting pages at the Debian front-end, fix the non-existent ./build-rust.sh references in the Spanish update pages, and replace the stale Ubuntu-only package list in src/rust/README.md. Record the review decisions for libzstd1, the unexpired-lease race, and the unexercised postinst in the plan, and mark the review phase complete.
This commit is contained in:
1 parent
14a7fca24c
commit
7c4e63e060
9 files changed
+23
-15
No files matched your search
+6
-3
@@ -1,6 +1,6 @@
|
||||
# Debian 13 Support Plan
|
||||
|
||||
Status: in progress (branch `debian13_support`)
|
||||
Status: complete on branch `debian13_support` (awaiting merge)
|
||||
|
||||
## Goal
|
||||
|
||||
@@ -15,7 +15,7 @@ and covered by the disposable RADIUS VM harness.
|
||||
3. `src/build_pkg_debian.sh` — Debian front-end for `build_dpkg.sh`.
|
||||
4. `src/build_dpkg.sh` — runtime dependency fixes for Debian minimal installs.
|
||||
5. `radius-harness` — `LAB_GUEST_OS=debian` guest support with a pinned trixie image.
|
||||
6. Documentation updates (contributor docs now; operator docs after the VM run passes).
|
||||
6. Documentation updates (developer docs updated; operator-facing support statements remain a product decision).
|
||||
|
||||
## Design decisions
|
||||
|
||||
@@ -69,7 +69,7 @@ and covered by the disposable RADIUS VM harness.
|
||||
- [x] Phase 5: VM validation: `lab init` / `up` / `configure` / `test` with `LAB_GUEST_OS=debian`, including the guest-OS and BPF-map assertions.
|
||||
- [x] Phase 6: validate the built `.deb` inside the Debian guest (`lab check-package`).
|
||||
- [x] Phase 7: developer docs updated to stop duplicating the apt list; the `bash -n` CI gate is deferred to a separate change.
|
||||
- [ ] Phase 8: final review pass (heckler, reaper, thomas, beck, jonas) and merge gate.
|
||||
- [x] Phase 8: final review pass (heckler, reaper, thomas, beck, jonas) and merge gate.
|
||||
|
||||
## Validation results
|
||||
|
||||
@@ -82,6 +82,7 @@ and covered by the disposable RADIUS VM harness.
|
||||
## Known gaps
|
||||
|
||||
- `build_rust_debian.sh` and `build_pkg_debian.sh` were not executed on a Debian host end-to-end. The harness builds the runtime bundle on the Ubuntu host; the Debian package list and PATH fixes were validated against trixie package data and the Debian guest.
|
||||
- The `.deb` postinst was not exercised on Debian; `lab check-package` simulates dependency resolution only.
|
||||
- Repo bug found while testing, outside this branch's scope: `maybe_migrate_uisp_capacity_defaults` writes a `[uisp_integration]` table without the required `enable_uisp` field, so any config lacking that section fails to parse after migration. The harness fixture was updated to the current schema; the migration itself still needs a fix.
|
||||
|
||||
## Validation checklist
|
||||
@@ -103,4 +104,6 @@ and covered by the disposable RADIUS VM harness.
|
||||
|
||||
- `netplan.io` stays in `Recommends` rather than `Depends`: runtime shaping does not need it, the setup flow does, and default apt installs recommends. Debian 13's cloud image ships it.
|
||||
- The `.deb` keeps the time64 dependency names (`libelf1t64`, `libssl3t64`). That matches the supported Ubuntu 24.04+ and Debian 13 targets; older releases are out of scope.
|
||||
- `libzstd1` stays out of `Depends`: `lqosd` reaches it through `libelf1t64`, which declares it. Generating `Depends` with `dpkg-shlibdeps` is the follow-up that would catch future direct libraries.
|
||||
- The build scripts keep assuming `sudo`, matching `build_rust.sh` and `update_api.sh`. Minimal installs without `sudo` are out of scope for this branch.
|
||||
- `management_ip` can still pick a previous lab's *unexpired* lease before the new guest requests DHCP. The documented flow includes a console step between `up` and `configure`, so this is recorded rather than reworked.
|
||||
@@ -45,7 +45,10 @@ Once that's done, please run:
|
||||
|
||||
```shell
|
||||
cd /opt/libreqos/src/
|
||||
# Ubuntu 24.04:
|
||||
./build_rust.sh
|
||||
# Debian 13 or later:
|
||||
./build_rust_debian.sh
|
||||
```
|
||||
|
||||
This will take a while the first time, but it puts everything in the right place.
|
||||
|
||||
@@ -26,7 +26,7 @@ Esto eliminará los mapas eBPF antiguos y cargará la última versión de LibreQ
|
||||
1. Cambie a su directorio `LibreQoS`(e.g. `cd /opt/LibreQoS`)
|
||||
2.Actualización desde Git: `git pull`
|
||||
3. ```git switch develop```
|
||||
5. Recompile: `./build-rust.sh`
|
||||
5. Recompile: `./build_rust.sh` (on Debian 13 or later, `./build_rust_debian.sh`)
|
||||
6. `sudo rust/remove_pinned_maps.sh`
|
||||
|
||||
Ejecute los siguientes comandos para recargar los servicios de LibreQoS.
|
||||
|
||||
@@ -44,7 +44,10 @@ Después, ejecute lo siguiente:
|
||||
|
||||
```shell
|
||||
cd /opt/libreqos/src/
|
||||
# Ubuntu 24.04:
|
||||
./build_rust.sh
|
||||
# Debian 13 o posterior:
|
||||
./build_rust_debian.sh
|
||||
```
|
||||
|
||||
Este proceso tomará algo de tiempo la primera vez, pero colocará todos los componentes en las ubicaciones correspondientes.
|
||||
|
||||
@@ -146,7 +146,7 @@ sudo dpkg --configure -a
|
||||
sudo systemctl restart lqosd lqos_scheduler
|
||||
```
|
||||
|
||||
Las instalaciones basadas en git deben usar `./build_rust.sh` después de actualizar. Ese script reconstruye el entorno virtual antes de actualizar los archivos de servicio o reiniciar servicios. Si systemd informa `status=203/EXEC` en `/opt/libreqos/venv/bin/python`, o una falla en la comprobación previa del scheduler, reconstruya el entorno virtual con el comando anterior y reinicie `lqos_scheduler`.
|
||||
Las instalaciones basadas en git deben usar `./build_rust.sh` después de actualizar (en Debian 13 o posterior, use `./build_rust_debian.sh`). Ese script reconstruye el entorno virtual antes de actualizar los archivos de servicio o reiniciar servicios. Si systemd informa `status=203/EXEC` en `/opt/libreqos/venv/bin/python`, o una falla en la comprobación previa del scheduler, reconstruya el entorno virtual con el comando anterior y reinicie `lqos_scheduler`.
|
||||
|
||||
Las instalaciones antiguas anteriores al entorno virtual pueden mostrar `ModuleNotFoundError` y recomendar comandos de `pip` del sistema. No repare instalaciones actuales con `pip` del sistema ni con `--break-system-packages`; esos paquetes no los usa el servicio `lqos_scheduler` respaldado por el entorno virtual. Actualice a un paquete que cree `/opt/libreqos/venv` y use el comando de reparación anterior.
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ Si algo falla, vaya a [Solución de problemas](troubleshooting-es.md) antes de o
|
||||
1. Cambia a tu directorio `LibreQoS` (por ejemplo `cd /opt/LibreQoS`)
|
||||
2. Actualiza desde Git: `git pull`
|
||||
3. ```git switch develop```
|
||||
4. Recompila: `./build-rust.sh`
|
||||
4. Recompila: `./build_rust.sh` (en Debian 13 o posterior, `./build_rust_debian.sh`)
|
||||
5. `sudo rust/remove_pinned_maps.sh`
|
||||
|
||||
### Hotfix de Ubuntu 24.04 para instalaciones desde Git
|
||||
|
||||
@@ -44,7 +44,10 @@ Once that's done, please run:
|
||||
|
||||
```shell
|
||||
cd /opt/libreqos/src/
|
||||
# Ubuntu 24.04:
|
||||
./build_rust.sh
|
||||
# Debian 13 or later:
|
||||
./build_rust_debian.sh
|
||||
```
|
||||
|
||||
This will take a while the first time, but it puts everything in the right place.
|
||||
|
||||
@@ -262,7 +262,7 @@ sudo dpkg --configure -a
|
||||
sudo systemctl restart lqosd lqos_scheduler
|
||||
```
|
||||
|
||||
Git-based installs should use `./build_rust.sh` after pulling updates. It rebuilds the virtual environment before refreshing service files or restarting services. If systemd reports `status=203/EXEC` on `/opt/libreqos/venv/bin/python`, or a failed scheduler pre-start check, rebuild the virtual environment with the command above and restart `lqos_scheduler`.
|
||||
Git-based installs should use `./build_rust.sh` after pulling updates (on Debian 13 or later, use `./build_rust_debian.sh`). It rebuilds the virtual environment before refreshing service files or restarting services. If systemd reports `status=203/EXEC` on `/opt/libreqos/venv/bin/python`, or a failed scheduler pre-start check, rebuild the virtual environment with the command above and restart `lqos_scheduler`.
|
||||
|
||||
For manual shaping tests, use the same interpreter as the service:
|
||||
|
||||
|
||||
+4
-8
@@ -17,15 +17,11 @@ This project contains a number of projects arranged in a workspace. The projects
|
||||
* `xdp_iphash_to_cpu_cmdline` - An almost-compatible command that acts like the tool of the same name from the previous verion.
|
||||
* `xdp_pping` - Port of the previous release's `xdp_pping` tool, for compatibility. Will eventually not be needed.
|
||||
|
||||
## Required Ubuntu packages
|
||||
## Required packages
|
||||
|
||||
* `clang`
|
||||
* `linux-tools-common` (for `bpftool`)
|
||||
* `libbpf-dev`
|
||||
* `gcc-multilib`
|
||||
* `llvm`
|
||||
* `pkg-config`
|
||||
* `linux-tools-5.15.0-56-generic` (the common version doesn't work?)
|
||||
The build scripts install the required packages with `apt`: run
|
||||
`./build_rust.sh` on Ubuntu 24.04 and `./build_rust_debian.sh` on Debian 13 or
|
||||
later. See `src/build_prereqs.sh` for the package lists.
|
||||
|
||||
## Helper Scripts
|
||||
|
||||
|
||||
Reference in new issue
Block a user