|
|
@@ -176,24 +176,36 @@ default_postinst() {
|
|
|
[ -f ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.postinst-pkg ] && ( . ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.postinst-pkg )
|
|
|
rusers=$(grep "Require-User:" ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.control)
|
|
|
[ -n "$rusers" ] && {
|
|
|
- local user group
|
|
|
+ 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
|
|
|
+
|
|
|
+ name=$(echo $b | cut -d= -f1)
|
|
|
+ id=$(echo $b | cut -d= -f2)
|
|
|
+
|
|
|
[ -z "$user" ] && {
|
|
|
- user=$b
|
|
|
+ user=$name
|
|
|
+ uid=$id
|
|
|
continue
|
|
|
}
|
|
|
- [ -z "$group" ] && {
|
|
|
- group=$b
|
|
|
- group_add_next $b
|
|
|
+
|
|
|
+ gid=$id
|
|
|
+ [ -n "$gid" ] && group_add $name $gid
|
|
|
+ [ -z "$gid" ] && {
|
|
|
+ group_add_next $name
|
|
|
gid=$?
|
|
|
- user_exists $user || user_add $user "" $gid
|
|
|
+ }
|
|
|
+
|
|
|
+ [ -z "$group" ] && {
|
|
|
+ user_exists $user || user_add $user "$uid" $gid
|
|
|
+ group=$name
|
|
|
continue
|
|
|
}
|
|
|
- group_add_next $b
|
|
|
- group_add_user $b $user
|
|
|
+
|
|
|
+ group_add_user $name $user
|
|
|
done
|
|
|
done
|
|
|
}
|