base-files: add generic board_name function to functions.sh
[openwrt/openwrt.git] / package / base-files / files / lib / functions.sh
index a5838f6035cd5462a2fb51043885923ad261a2b3..bea5f0f96be1a2bc97899f50f2bca7cc19f9a9f3 100755 (executable)
@@ -178,7 +178,7 @@ default_prerm() {
                        if [ "$PKG_UPGRADE" != "1" ]; then
                                "$i" disable
                        fi
-                       "$i" stop
+                       "$i" stop || /bin/true
                fi
        done
 }
@@ -230,12 +230,17 @@ default_postinst() {
                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
                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"
+                       [ -f "$i" ] && . ./"$i" && rm -f "$i"
                ) done
                uci commit
        fi
@@ -348,4 +353,8 @@ user_exists() {
        grep -qs "^${1}:" ${IPKG_INSTROOT}/etc/passwd
 }
 
+board_name() {
+       [ -e /tmp/sysinfo/board_name ] && cat /tmp/sysinfo/board_name || echo "generic"
+}
+
 [ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh