README: remove version-specific claims, fix find path

This commit is contained in:
2026-06-16 17:15:03 +00:00
parent 8c0ffab166
commit f94e674561
+9 -18
View File
@@ -83,20 +83,16 @@ database. On every boot, `patch/apply.sh` runs from the repo before
`middlewared` starts, placing `sitecustomize.py` in the correct site-packages
directory and re-patching the UI bundle.
**TrueNAS 25.x — immutable `/usr`:** Starting with TrueNAS 25.x, `/usr` is a
read-only filesystem. `apply.sh` handles this automatically by mounting a
writable [overlayfs](https://docs.kernel.org/filesystems/overlayfs.html) on
top of the relevant directories before writing to them. The overlay lives in
`/run` (tmpfs) and is recreated on every boot. No extra configuration is
needed.
If `/usr` is a read-only filesystem, `apply.sh` handles this automatically by
mounting a writable [overlayfs](https://docs.kernel.org/filesystems/overlayfs.html)
on top of the relevant directories. The overlay lives in `/run` (tmpfs) and is
recreated on every boot. No extra configuration is needed.
## Python version compatibility
`sitecustomize.py` uses the `find_spec` / `exec_module` import hook API
(introduced in Python 3.4, required from Python 3.12 onwards). This covers:
- TrueNAS SCALE 24.x — Debian 12, Python 3.11 ✓
- TrueNAS SCALE 25.x — Debian 13, Python 3.11 ✓ (immutable `/usr` handled via overlayfs)
(Python 3.4+; the older `load_module` form was removed in Python 3.12).
Compatible with all Python versions shipped by TrueNAS SCALE.
---
@@ -361,7 +357,7 @@ is straightforward:
```bash
# Find the backup (the path varies by TrueNAS version):
find /usr/share/truenas /var/www/truenas -name "*.js.pre-truecloud-patch" 2>/dev/null
find /usr/share/truenas /usr/share/truenas-ui /var/www/truenas -name "*.js.pre-truecloud-patch" 2>/dev/null
# Restore it — substitute the actual path from the find output:
mv /usr/share/truenas/webui/main.XXXXXXXX.js.pre-truecloud-patch \
@@ -388,9 +384,7 @@ If one or more entries show `[FAIL]`:
```
2. **Check middlewared's own log** for Python tracebacks:
```bash
# TrueNAS 25.x (logs to file):
grep -i "truecloud\|traceback\|error" /var/log/middlewared.log 2>/dev/null | tail -30
# Older TrueNAS (logs to journal):
journalctl -u middlewared -n 50
```
3. **A FAIL is non-fatal.** middlewared runs normally; the affected provider
@@ -418,13 +412,10 @@ This reads `hook_status.json` in your repo root. The file is written by
to `b2.py` and `restic.py` were applied successfully. Does not require
`--host` or `--api-key`.
**Middlewared log** (TrueNAS 25.x — middlewared logs to a file, not the journal):
**Middlewared log:**
```bash
grep truecloud-patch /var/log/middlewared.log 2>/dev/null | tail -20
```
On older TrueNAS versions that log to the journal:
```bash
journalctl -u middlewared -n 100 | grep truecloud-patch
journalctl -u middlewared -n 100 2>/dev/null | grep truecloud-patch
```
**Verify the UI patch** (should print your TrueNAS version):