[OpenWrt-Devel] [PATCH] base-files: execute package prerm script in a subshell
Philip Prindeville
philipp_subx at redfish-solutions.com
Thu Aug 23 21:30:25 EDT 2018
LGTM
> On Aug 23, 2018, at 6:21 PM, Luis Araneda <luaraneda at gmail.com> wrote:
>
> This fixes a problem that's causing an early return of
> default_prerm() when the package prerm script has an
> exit statement at the end, which is implemented as
> "exit 0" by most of the packages that use prerm
>
> With the new behavior, the execution of default_prerm()
> will continue only if the prerm script returns 0,
> otherwise the function will return the error code
>
> Additionally, this makes the execution consistent with
> the postinst script
>
> Signed-off-by: Luis Araneda <luaraneda at gmail.com>
> ---
> Compile and run tested on ipq40xx
>
> ---
> package/base-files/files/lib/functions.sh | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
> index 318e91856b..579aa93dca 100755
> --- a/package/base-files/files/lib/functions.sh
> +++ b/package/base-files/files/lib/functions.sh
> @@ -153,9 +153,14 @@ config_list_foreach() {
> default_prerm() {
> local root="${IPKG_INSTROOT}"
> local name
> + local ret
>
> name=$(basename ${1%.*})
> - [ -f "$root/usr/lib/opkg/info/${name}.prerm-pkg" ] && . "$root/usr/lib/opkg/info/${name}.prerm-pkg"
> + if [ -f "$root/usr/lib/opkg/info/${name}.prerm-pkg" ]; then
> + ( . "$root/usr/lib/opkg/info/${name}.prerm-pkg" )
> + ret=$?
> + [ $ret -ne 0 ] && return $ret
> + fi
>
> local shell="$(which bash)"
> for i in `cat "$root/usr/lib/opkg/info/${name}.list" | grep "^/etc/init.d/"`; do
> --
> 2.18.0
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list