base-files: split user/group addition code into a function
[openwrt/svn-archive/archive.git] / package / base-files / files / lib / functions.sh
index 8582605991fd1c41b483ad0a38bc2145befe5715..4ec0cac33231f4e0f0265371820a67b0f28f1f6d 100755 (executable)
@@ -173,11 +173,9 @@ default_prerm() {
        done
 }
 
-default_postinst() {
-       local root="${IPKG_INSTROOT}"
-       local pkgname="$(basename ${1%.*})"
+add_group_and_user() {
+       local pkgname="$1"
        local rusers="$(sed -ne 's/^Require-User: *//p' $root/usr/lib/opkg/info/${pkgname}.control 2>/dev/null)"
-       local ret=0
 
        if [ -n "$rusers" ]; then
                local tuple oIFS="$IFS"
@@ -208,6 +206,14 @@ default_postinst() {
                        unset uid gid uname gname
                done
        fi
+}
+
+default_postinst() {
+       local root="${IPKG_INSTROOT}"
+       local pkgname="$(basename ${1%.*})"
+       local ret=0
+
+       add_group_and_user "${pkgname}"
 
        if [ -f "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" ]; then
                ( . "$root/usr/lib/opkg/info/${pkgname}.postinst-pkg" )