base-files: evaluate uci-defaults on run-time installations
[openwrt/svn-archive/archive.git] / package / base-files / files / lib / functions.sh
index 4ec0cac33231f4e0f0265371820a67b0f28f1f6d..cf1fa4874a396b006ded1cbc43cb8de16a5a6c0f 100755 (executable)
@@ -231,6 +231,17 @@ default_postinst() {
                cd $OLDPWD
        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
+               uci commit
+               cd $OLDPWD
+       fi
+
        [ -n "$root" ] || rm -f /tmp/luci-indexcache 2>/dev/null
 
        if [ "$PKG_UPGRADE" != "1" ]; then