Repository navigation
webui: install add-ons without a forced reboot - #160
Conversation
Run /bin/install_addon directly from the add-on upload dialog and evaluate its exit code instead of always rebooting the CCU: 0 reports a successful installation without a reboot, 10 shows the former message and reboots the CCU, any other value shows an error message. The "Install" button submits the upload form directly and the selection hint no longer states that the CCU is always restarted. Applies OpenCCU rootfs patch 0040-WebUI-AddonInstallNoReboot.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to No confirmed issue blocks merging. Whether a plain CCU2 reboot processes the staged add-on archive remains unverified. Pre-merge checks |
|
This removes OpenCCU rootfs patch 0040-WebUI-AddonInstallNoReboot.patch, now that OpenCCU/OpenCCU-Base#160 is merged.
Original OpenCCU rootfs patch: 0040
Original filename:
0040-WebUI-AddonInstallNoReboot.patchOriginal patch: https://github.com/OpenCCU/OpenCCU/blob/c0e41619b/buildroot-external/package/openccu-base/rootfs-patches/0040-WebUI-AddonInstallNoReboot.patch
Original changes: OpenCCU/OpenCCU@a9c600de2 and OpenCCU/OpenCCU@8e63411ba
Installing an add-on always restarted the CCU:
action_install_startcreated/usr/local/.doAddonInstalland rebooted, and the add-on was installed during the next boot. Many add-ons do not need a restart.This applies the patch 1:1:
src/webui/www/config/cp_software.cgi:action_install_goruns/bin/install_addonon the CCU3 platform (getProduct == 3) and evaluates its exit code:0: success message without a restart (new keydialogSettingsExtraSoftwareHintPerformInstallationContentNoReboot, button "OK").10: the former message, and the CCU reboots after 2 seconds (/sbin/reboot -d 2).dialogSettingsExtraSoftwareHintPerformInstallationFailure, titledError (<code>).action_install_start, which the dialog still requests afterwards, no longer touches.doAddonInstallor reboots; it only returns an empty response.installAddon(), which first showed the liability hint in a yes/no dialog. This extra confirmation was removed on purpose (OpenCCU/OpenCCU@8e63411ba); after the upload the installation still has to be confirmed in the existinginstall_confirmdialog.installAddon()stays defined but is no longer called.src/webui/www/webui/js/lang/de/translate.lang.jsanden/translate.lang.js: the two new keys, and the selection hintdialogSettingsExtraSoftwareHintSelectExtraSoftwarenow says the CCU might have to be restarted instead of always being restarted. That hint was only shown byinstallAddon(), so it is not visible anymore. It is kept as in the rootfs patch./bin/install_addonis not part of OpenCCU-Base. It is provided by the OpenCCU overlay (buildroot-external/overlay/base/bin/install_addon): it unpacks/usr/local/tmp/new_addon.tar.gz, verifies the included*.sha256files, runs the add-on'supdate_scriptand returns its exit code, or 101-106 if a step before it fails (archive missing or not unpackable, no executableupdate_script, checksum mismatch). The upload already stores the archive at that path. Exit code 10 as "installed, reboot required" is the add-on convention of OpenCCU since 2018 (OpenCCU/OpenCCU@a9c600de2).Line endings (CRLF in
cp_software.cgi, LF in the language files) and encodings are preserved. The rootwww/copies are unused legacy files and are left unchanged.The other OpenCCU rootfs patch that modifies
cp_software.cgi(0031) and the patches that modify the two language files still apply with zero fuzz.Validation
scripts/base-patch-migration.py validatewith the canonical Buildroot 2026.08git4archive of this branch (2cd0a930, sha25689218d469c77aa540275730ed0d143e192476fcddf0339e4162ea2c26f96f36b) and--skip-patch 0040, on OpenCCUmaster(c0e41619b, current pin570566e3): PASS (the other 62 rootfs patches apply with zero fuzz).compareagainst the validation of the current pin570566e3with all 63 patches: IDENTICAL (4668 entries).Generated by Claude Code
Summary by CodeRabbit
OpenCCU cleanup PR (removing patch 0040 and updating the pin): OpenCCU/OpenCCU#4412
Generated by Claude Code