}
default_prerm() {
+ local root="${IPKG_INSTROOT}"
local name
+
name=$(basename ${1%.*})
- [ -f /usr/lib/opkg/info/${name}.prerm-pkg ] && . /usr/lib/opkg/info/${name}.prerm-pkg
- for i in `cat /usr/lib/opkg/info/${name}.list | grep "^/etc/init.d/"`; do
- $i disable
- $i stop
+ [ -f "$root/usr/lib/opkg/info/${name}.prerm-pkg" ] && . "$root/usr/lib/opkg/info/${name}.prerm-pkg"
+
+ local shell="$(which bash)"
+ for i in `cat "$root/usr/lib/opkg/info/${name}.list" | grep "^/etc/init.d/"`; do
+ if [ -n "$root" ]; then
+ ${shell:-/bin/sh} "$root/etc/rc.common" "$root$i" disable
+ else
+ if [ "$PKG_UPGRADE" != "1" ]; then
+ "$i" disable
+ fi
+ "$i" stop || /bin/true
+ fi
done
}
ret=$?
fi
+ if [ -d "$root/rootfs-overlay" ]; then
+ cp -R $root/rootfs-overlay/. $root/
+ rm -fR $root/rootfs-overlay/
+ fi
+
if [ -z "$root" ] && grep -q -s "^/etc/uci-defaults/" "/usr/lib/opkg/info/${pkgname}.list"; then
. /lib/functions/system.sh
[ -d /tmp/.uci ] || mkdir -p /tmp/.uci
- cd /etc/uci-defaults
- for i in $(grep -s "^/etc/uci-defaults/" "/usr/lib/opkg/info/${pkgname}.list"); do
- ( . "./$(basename $i)" ) && rm -f "$i"
- done
+ for i in $(sed -ne 's!^/etc/uci-defaults/!!p' "/usr/lib/opkg/info/${pkgname}.list"); do (
+ cd /etc/uci-defaults
+ [ -f "$i" ] && . "$i" && rm -f "$i"
+ ) done
uci commit
- cd $OLDPWD
fi
[ -n "$root" ] || rm -f /tmp/luci-indexcache 2>/dev/null
- if [ "$PKG_UPGRADE" != "1" ]; then
- local shell="$(which bash)"
- for i in $(grep -s "^/etc/init.d/" "$root/usr/lib/opkg/info/${pkgname}.list"); do
- if [ -n "$root" ]; then
- ${shell:-/bin/sh} "$root/etc/rc.common" "$root$i" enable
- else
+ local shell="$(which bash)"
+ for i in $(grep -s "^/etc/init.d/" "$root/usr/lib/opkg/info/${pkgname}.list"); do
+ if [ -n "$root" ]; then
+ ${shell:-/bin/sh} "$root/etc/rc.common" "$root$i" enable
+ else
+ if [ "$PKG_UPGRADE" != "1" ]; then
"$i" enable
- "$i" start
fi
- done
- fi
+ "$i" start
+ fi
+ done
return $ret
}