diff options
Diffstat (limited to 'abuild.in')
-rwxr-xr-x | abuild.in | 24 |
1 files changed, 21 insertions, 3 deletions
@@ -26,7 +26,7 @@ BUILD_BASE="build-base" SUDO=${SUDO:-"sudo"} -default_cmds="sanitycheck builddeps clean fetch unpack rootpkg apkcache" +default_cmds="sanitycheck builddeps clean fetch unpack mkusers rootpkg apkcache" # read config ABUILD_CONF=${ABUILD_CONF:-"$sysconfdir/abuild.conf"} @@ -264,7 +264,24 @@ cleanoldpkg() { done return 0 } - + +mkusers() { + local i + for i in $pkgusers; do + if ! getent passwd $i >/dev/null; then + msg "Creating user $i" + $SUDO adduser -D -H $i || return 1 + fi + done + for i in $pkggroups; do + if ! getent group $i >/dev/null; then + msg "Creating group $i" + $SUDO addgroup $i || return 1 + fi + done +} + + runpart() { local part=$1 [ -n "$DEBUG" ] && msg "$part" @@ -488,7 +505,8 @@ create_apks() { apkcache() { if ! apk_up2date || [ -n "$force" ]; then - sanitycheck && builddeps && clean && fetch && unpack && rootpkg || return 1 + sanitycheck && builddeps && clean && fetch && unpack \ + && mkusers && rootpkg || return 1 fi local apk |