diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2011-10-20 21:20:43 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-10-24 14:28:18 +0100 |
commit | 0395eba96d6f37f323f5b76564809a44d7ceb103 (patch) | |
tree | b614e8914aa058619b7214fda29a7225f0febf06 /meta/recipes-core/base-passwd | |
parent | 82933a1ff921fd0836f03e6f379fd8536cdc0a30 (diff) | |
download | openembedded-core-0395eba96d6f37f323f5b76564809a44d7ceb103.tar.gz openembedded-core-0395eba96d6f37f323f5b76564809a44d7ceb103.tar.bz2 openembedded-core-0395eba96d6f37f323f5b76564809a44d7ceb103.tar.xz openembedded-core-0395eba96d6f37f323f5b76564809a44d7ceb103.zip |
base-passwd: move initial criation of group and passwd to preinst
To allow use and manipulation of users and groups at rootfs building
time, the '/etc/passwd' and '/etc/group' needs to be available as soon
as possible.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'meta/recipes-core/base-passwd')
-rw-r--r-- | meta/recipes-core/base-passwd/base-passwd_3.5.22.bb | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb index 137512dc3..aa90a6d92 100644 --- a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb @@ -1,7 +1,7 @@ SUMMARY = "Base system master password/group files." DESCRIPTION = "The master copies of the user database files (/etc/passwd and /etc/group). The update-passwd tool is also provided to keep the system databases synchronized with these master files." SECTION = "base" -PR = "r3" +PR = "r4" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" @@ -37,6 +37,23 @@ do_install () { install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/ } +pkg_preinst_${PN} () { + set -e + + # Used for rootfs generation. On in-target install this will be run + # before the unpack so the files won't be available + + if [ ! -e $D${sysconfdir}/passwd ] && [ -e $D${datadir}/base-passwd/passwd.master ]; then + cp $D${datadir}/base-passwd/passwd.master $D${sysconfdir}/passwd + fi + + if [ ! -e $D${sysconfdir}/group ] && [ -e $D${datadir}/base-passwd/group.master ]; then + cp $D${datadir}/base-passwd/group.master $D${sysconfdir}/group + fi + + exit 0 +} + pkg_postinst_${PN} () { set -e |