diff options
| -rw-r--r-- | meta/classes/useradd.bbclass | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index 0b9a843b24..e443f845f7 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass @@ -24,6 +24,16 @@ if test "x$D" != "x"; then  	# Installing into a sysroot  	SYSROOT="$D"  	OPT="--root $D" + +	# Make sure login.defs is there, this is to make debian package backend work +	# correctly while doing rootfs. +	# The problem here is that if /etc/login.defs is treated as a config file for +	# shadow package, then while performing preinsts for packages that depend on +	# shadow, there might only be /etc/login.def.dpkg-new there in root filesystem. +	if [ ! -e $D${sysconfdir}/login.defs -a -e $D${sysconfdir}/login.defs.dpkg-new ]; then +	    cp $D${sysconfdir}/login.defs.dpkg-new $D${sysconfdir}/login.defs +	fi +  	# user/group lookups should match useradd/groupadd --root  	export PSEUDO_PASSWD="$SYSROOT:${STAGING_DIR_NATIVE}"  fi | 
