From: Christian Marangi Date: Tue, 22 Oct 2024 22:21:35 +0000 (+0200) Subject: luci-app-opkg: fix passing wrong option on opkg update/install X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=4163e3810ac56339aa4baa6a1d072ab8fdd7b15d;p=project%2Fluci.git luci-app-opkg: fix passing wrong option on opkg update/install Fix passing wrong option on opkg update/install. While starting to introduce support for APK in the opkg module, it was notice that --force-removal-of-dependent-packages was always passed even with update and install command. This was probably a leftover/oversight of old one. To fix this, limit this option only on remove and also update the acl.d to support single call to update or install. Fixes: 9b25031cb29b ("luci-app-opkg: rework backend operations") Signed-off-by: Christian Marangi (cherry picked from commit 3a8e9baf32242f30cf65791b61c460413bd115ce) --- diff --git a/applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js b/applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js index f3d0194d97..7ec7818150 100644 --- a/applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js +++ b/applications/luci-app-opkg/htdocs/luci-static/resources/view/opkg.js @@ -983,7 +983,10 @@ function handleOpkg(ev) _('Waiting for the opkg %h command to complete…').format(cmd)) ]); - var argv = [ cmd, '--force-removal-of-dependent-packages' ]; + var argv = [ cmd ]; + + if (cmd == 'remove') + argv.push('--force-removal-of-dependent-packages') if (rem && rem.checked) argv.push('--autoremove'); diff --git a/applications/luci-app-opkg/root/usr/share/rpcd/acl.d/luci-app-opkg.json b/applications/luci-app-opkg/root/usr/share/rpcd/acl.d/luci-app-opkg.json index d6531a58e4..649666c260 100644 --- a/applications/luci-app-opkg/root/usr/share/rpcd/acl.d/luci-app-opkg.json +++ b/applications/luci-app-opkg/root/usr/share/rpcd/acl.d/luci-app-opkg.json @@ -17,9 +17,10 @@ }, "write": { "file": { + "/usr/libexec/opkg-call install": [ "exec" ], "/usr/libexec/opkg-call install *": [ "exec" ], "/usr/libexec/opkg-call remove *": [ "exec" ], - "/usr/libexec/opkg-call update *": [ "exec" ], + "/usr/libexec/opkg-call update": [ "exec" ], "/etc/opkg.conf": [ "write" ], "/etc/opkg/*.conf": [ "write" ], "/tmp/upload.ipk": [ "write" ]