functions.sh: fix default_postinst function
[openwrt/staging/lynxis.git] / package / base-files / files / lib / functions.sh
index 2b6415a20081b66712ad088b34ee816b5730a36a..4879a3708acb59f0585cfc52e71d9ec1f047e5c8 100755 (executable)
@@ -235,12 +235,16 @@ default_postinst() {
                rm -fR $root/rootfs-overlay/
        fi
 
+       if [ -z "$root" ] && grep -q -s "^/etc/modules.d/" "/usr/lib/opkg/info/${pkgname}.list"; then
+               kmodloader
+       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
@@ -306,8 +310,8 @@ group_add_next() {
        gid=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group | cut -d: -f3)
        [ -n "$gid" ] && return $gid
        gids=$(cat ${IPKG_INSTROOT}/etc/group | cut -d: -f3)
-       gid=100
-       while [ -n "$(echo $gids | grep $gid)" ] ; do
+       gid=65536
+       while [ -n "$(echo "$gids" | grep "^$gid$")" ] ; do
                gid=$((gid + 1))
        done
        group_add $1 $gid
@@ -334,8 +338,8 @@ user_add() {
        local rc
        [ -z "$uid" ] && {
                uids=$(cat ${IPKG_INSTROOT}/etc/passwd | cut -d: -f3)
-               uid=100
-               while [ -n "$(echo $uids | grep $uid)" ] ; do
+               uid=65536
+               while [ -n "$(echo "$uids" | grep "^$uid$")" ] ; do
                        uid=$((uid + 1))
                done
        }