The name variable contains at first the package name,
and after the last group name.
This patch fixes /etc/rc.d symlink creation (at least).

Change name in pkgname, change the other name in ugname
(user group name), and id in ugid (user group id)

Signed-off-by: Etienne CHAMPETIER <[email protected]>
---
 package/base-files/files/lib/functions.sh | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/package/base-files/files/lib/functions.sh 
b/package/base-files/files/lib/functions.sh
index 9d98fb0..dc3b805 100755
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -171,51 +171,51 @@ default_prerm() {
 }
 
 default_postinst() {
-       local name rusers
-       name=$(echo $(basename $1) | cut -d. -f1)
-       rusers=$(grep "Require-User:" 
${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.control)
+       local pkgname rusers
+       pkgname=$(echo $(basename $1) | cut -d. -f1)
+       rusers=$(grep "Require-User:" 
${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.control)
        [ -n "$rusers" ] && {
                local user group uid gid
                for a in $(echo $rusers | sed "s/Require-User://g"); do
                        user=""
                        group=""
                        for b in $(echo $a | sed "s/:/ /g"); do
-                               local name id
+                               local ugname ugid
 
-                               name=$(echo $b | cut -d= -f1)
-                               id=$(echo $b | cut -d= -f2)
+                               ugname=$(echo $b | cut -d= -f1)
+                               ugid=$(echo $b | cut -d= -f2)
 
                                [ -z "$user" ] && {
-                                       user=$name
-                                       uid=$id
+                                       user=$ugname
+                                       uid=$ugid
                                        continue
                                }
 
-                               gid=$id
+                               gid=$ugid
                                [ -n "$gid" ] && {
-                                       group_exists $name || group_add $name 
$gid
+                                       group_exists $ugname || group_add 
$ugname $gid
                                }
 
                                [ -z "$gid" ] && {
-                                       group_add_next $name
+                                       group_add_next $ugname
                                        gid=$?
                                }
 
                                [ -z "$group" ] && {
                                        user_exists $user || user_add $user 
"$uid" $gid
-                                       group=$name
+                                       group=$ugname
                                        continue
                                }
 
-                               group_add_user $name $user
+                               group_add_user $ugname $user
                        done
                done
        }
 
-       [ -f ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.postinst-pkg ] && ( . 
${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.postinst-pkg )
+       [ -f ${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.postinst-pkg ] && ( 
. ${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.postinst-pkg )
        [ -n "${IPKG_INSTROOT}" ] || rm -f /tmp/luci-indexcache 2>/dev/null
 
-       [ "$PKG_UPGRADE" = "1" ] || for i in `cat 
${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.list | grep "^/etc/init.d/"`; do
+       [ "$PKG_UPGRADE" = "1" ] || for i in `cat 
${IPKG_INSTROOT}/usr/lib/opkg/info/${pkgname}.list | grep "^/etc/init.d/"`; do
                [ -n "${IPKG_INSTROOT}" ] && $(which bash) 
${IPKG_INSTROOT}/etc/rc.common ${IPKG_INSTROOT}$i enable; \
                [ -n "${IPKG_INSTROOT}" ] || {
                        $i enable
-- 
2.1.0
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to