fix: ZFSPlugin 8.4.x patch and missing patch dependency (#236 #237)

Two install-time failures on PVE 8.4.x nodes:

1. 'patch' utility not in Depends — causes silent patch failure on fresh
   nodes; all three PVE file patches silently skip, plugin appears to
   install but storage operations fail. Added 'patch' to control.j2.

2. ZFSPlugin.pm routing not applied on PVE 8.4.x — tabs→spaces reformat
   and get_base($scfg) signature change in 8.4 broke hunks #3 and #4
   (the freenas elsif routing branches). Nodes with a prior partial
   install are doubly affected: grep idempotency check passes on partial
   freenas strings, so the routing is never applied, causing:
     "freenas: unknown iscsi provider" on clone/migrate operations.

New ZFSPlugin-8.4.14_1.pm.patch generated against stock PVE 8.4.19,
bundled as patches/ZFSPlugin/8.4.patch alongside existing 8.patch.

Verified clean on pve01-hq (8.4.19) and pve02-hq (8.4.14).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Kevin Adams
2026-05-19 23:16:17 -04:00
co-authored by Claude Sonnet 4.6
parent b936e42460
commit 3b3cc8d135
3 changed files with 112 additions and 1 deletions
+5
View File
@@ -187,6 +187,11 @@ jobs:
# PVE 8 patches (8.0.x – 8.3.x)
cp stable-8/perl5/PVE/Storage/ZFSPlugin.pm.patch \
"${STAGING}/usr/share/freenas-proxmox/patches/ZFSPlugin/8.patch"
# PVE 8.4.x ZFSPlugin patch — indentation changed in 8.4, incompatible with 8.patch
cp stable-8/perl5/PVE/Storage/ZFSPlugin-8.4.14_1.pm.patch \
"${STAGING}/usr/share/freenas-proxmox/patches/ZFSPlugin/8.4.patch"
echo "Bundled PVE 8.4.x ZFSPlugin patch"
cp stable-8/pve-manager/js/pvemanagerlib.js.patch \
"${STAGING}/usr/share/freenas-proxmox/patches/pvemanagerlib/8.patch"
cp stable-8/pve-docs/api-viewer/apidoc.js.patch \