Fix five quality findings from second re-review
sitecustomize.py: when find_spec resolves real_spec as None (module absent after a TrueNAS update), record a FAIL status and mark the module done so hook_status.json is still written and cmd_verify shows a diagnostic FAIL instead of the ambiguous "no status file found". sitecustomize.py: the AttributeError fallback in the URL-fix wrapper now writes a WARNING to stderr before returning the unmodified result, making the unexpected ResticConfig type visible in journalctl. apply.sh: after falling back to bare python3, verify that python3 can also import middlewared; if not, emit a second warning so the operator knows the backend patch may be installed in the wrong site-packages directory. patch_ui.py: abort (return without writing) when FIND.subn produces a count other than 1, instead of committing a doubly-patched bundle and having subsequent runs silently accept it via the MARKER check. uninstall.sh: when a vendor sitecustomize.py backup exists, use mv to atomically overwrite our file rather than rm-then-mv; eliminates the window where a read-only /usr causes rm to fail under set -e, aborting before the backup is restored.
This commit is contained in:
+5
-3
@@ -62,13 +62,15 @@ SITE_PKG=$("$PYTHON" -c "import site; print(site.getsitepackages()[0])" 2>/dev/n
|
||||
|
||||
if [ -n "$SITE_PKG" ] && [ -f "$SITE_PKG/sitecustomize.py" ]; then
|
||||
if grep -q "truecloud-patch" "$SITE_PKG/sitecustomize.py" 2>/dev/null; then
|
||||
rm "$SITE_PKG/sitecustomize.py"
|
||||
echo " Removed $SITE_PKG/sitecustomize.py"
|
||||
|
||||
if [ -f "$SITE_PKG/sitecustomize.py.pre-truecloud-patch" ]; then
|
||||
# mv atomically overwrites our file with the vendor original —
|
||||
# safer than rm-then-mv if /usr is transiently read-only.
|
||||
mv "$SITE_PKG/sitecustomize.py.pre-truecloud-patch" \
|
||||
"$SITE_PKG/sitecustomize.py"
|
||||
echo " Restored previous sitecustomize.py"
|
||||
else
|
||||
rm "$SITE_PKG/sitecustomize.py"
|
||||
echo " Removed $SITE_PKG/sitecustomize.py"
|
||||
fi
|
||||
else
|
||||
echo " $SITE_PKG/sitecustomize.py is not ours; leaving it alone."
|
||||
|
||||
Reference in New Issue
Block a user