summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Andrés Pérez2025-06-12 13:49:59 +0000
committerRobert Marko2025-06-23 07:39:12 +0000
commit47b6b9de1a6c37b877be250fdd759a64337c9ecc (patch)
tree6f243664fc4dc2fd8e102c0319a962592cca9575
parentfccd1dd0aec027dc31cef0233225ea56a507fb64 (diff)
downloadopenwrt-47b6b9de1a6c37b877be250fdd759a64337c9ecc.tar.gz
base-files: handle packages alternatives when apk removes packages
On commit 3010ab8 ("base-files: add update_alternatives function") was implemented the function to handle ALTERNATIVES when using APK (OPKG handle it internally) but in commit bcc6415 ("base-files: add compatibility for APK and OPKG") was only called when adding a package, so call it also when removing packages. While we are here, check for a more specific *.alternatives files instead of *.list, and remove redundant "filelist" variable definition. Fixes: bcc6415 ("base-files: add compatibility for APK and OPKG") Fixes: https://github.com/openwrt/openwrt/issues/19090 Fixes: https://github.com/openwrt/openwrt/issues/16991 Reported-and-tested-by: Eric Fahlgren <ericfahlgren@gmail.com> Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19093 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--package/base-files/files/lib/functions.sh7
1 files changed, 5 insertions, 2 deletions
diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index e944d36505..18bf79251d 100644
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -216,6 +216,10 @@ default_prerm() {
local filelist="${root}/usr/lib/opkg/info/${pkgname}.list"
[ -f "$root/lib/apk/packages/${pkgname}.list" ] && filelist="$root/lib/apk/packages/${pkgname}.list"
+ if [ -e "$root/lib/apk/packages/${pkgname}.alternatives" ]; then
+ update_alternatives remove "${pkgname}"
+ fi
+
if [ -f "$root/usr/lib/opkg/info/${pkgname}.prerm-pkg" ]; then
( . "$root/usr/lib/opkg/info/${pkgname}.prerm-pkg" )
ret=$?
@@ -352,8 +356,7 @@ default_postinst() {
add_group_and_user "${pkgname}"
fi
- if [ -e "${root}/lib/apk/packages/${pkgname}.list" ]; then
- filelist="${root}/lib/apk/packages/${pkgname}.list"
+ if [ -e "${root}/lib/apk/packages/${pkgname}.alternatives" ]; then
update_alternatives install "${pkgname}"
fi