2010-09-27 14:44:05 +00:00
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. "
2005-08-31 10:45:47 +00:00
SECTION = " base "
2013-04-03 19:49:39 +00:00
PR = " r2 "
2010-07-02 09:50:35 +00:00
LICENSE = " GPLv2+ "
2010-07-06 03:00:03 +00:00
LIC_FILES_CHKSUM = " file://COPYING;md5=eb723b61539feef013de476e68b5c50a "
2005-08-31 10:45:47 +00:00
SRC_URI = " ${DEBIAN_MIRROR}/main/b/base-passwd/base-passwd_${PV}.tar.gz \
2013-09-24 00:18:58 +00:00
file : / / add_shutdown . patch \
2013-04-03 19:49:39 +00:00
file : / / nobash . patch \
file : / / input . patch "
2005-08-31 10:45:47 +00:00
2012-08-24 10:26:17 +00:00
SRC_URI [ md5sum ] = " 74245e5c21dc74d9675c77cd8dfa02e6 "
SRC_URI [ sha256sum ] = " 258a78317aa563143d10375c6e1e63a60898e503887f00fffd70b6b297c1b429 "
2005-08-31 10:45:47 +00:00
inherit autotools
2011-05-12 03:04:33 +00:00
SSTATEPOSTINSTFUNCS + = " base_passwd_sstate_postinst "
2005-08-31 10:45:47 +00:00
do_install ( ) {
install - d - m 755 $ { D } $ { sbindir }
2013-03-21 22:45:02 +00:00
install - o root - g root - p - m 755 $ { B } / update - passwd $ { D } $ { sbindir } /
2010-07-06 03:00:03 +00:00
install - d - m 755 $ { D } $ { mandir } / man8 $ { D } $ { mandir } / pl / man8
2012-12-14 14:51:22 +00:00
install - p - m 644 $ { S } / man / update - passwd .8 $ { D } $ { mandir } / man8 /
install - p - m 644 $ { S } / man / update - passwd . pl .8 \
2005-08-31 10:45:47 +00:00
$ { D } $ { mandir } / pl / man8 / update - passwd .8
2010-07-06 03:00:03 +00:00
gzip - 9 $ { D } $ { mandir } / man8 / * $ { D } $ { mandir } / pl / man8 / *
2005-08-31 10:45:47 +00:00
install - d - m 755 $ { D } $ { datadir } / base - passwd
2012-12-18 09:44:02 +00:00
sed - i ' s # : / root : # : $ { ROOT_HOME } : # ' $ { S } / passwd . master
2012-12-14 14:51:22 +00:00
install - o root - g root - p - m 644 $ { S } / passwd . master $ { D } $ { datadir } / base - passwd /
install - o root - g root - p - m 644 $ { S } / group . master $ { D } $ { datadir } / base - passwd /
2005-08-31 10:45:47 +00:00
2011-08-25 08:27:51 +00:00
install - d - m 755 $ { D } $ { docdir } / $ { BPN }
2012-12-14 14:51:22 +00:00
install - p - m 644 $ { S } / debian / changelog $ { D } $ { docdir } / $ { BPN } /
2011-08-25 08:27:51 +00:00
gzip - 9 $ { D } $ { docdir } / $ { BPN } / *
2012-12-14 14:51:22 +00:00
install - p - m 644 $ { S } / README $ { D } $ { docdir } / $ { BPN } /
install - p - m 644 $ { S } / debian / copyright $ { D } $ { docdir } / $ { BPN } /
2005-08-31 10:45:47 +00:00
}
2011-05-12 03:04:33 +00:00
base_passwd_sstate_postinst ( ) {
if [ " ${BB_CURRENTTASK} " = " populate_sysroot " - o " ${BB_CURRENTTASK} " = " populate_sysroot_setscene " ]
then
# Staging does not copy $ { sysconfdir } files into the
# target sysroot , so we need to do so manually . We
# put these files in the target sysroot so they can
# be used by recipes which use custom user / group
# permissions .
install - d - m 755 $ { STAGING_DIR_TARGET } $ { sysconfdir }
install - p - m 644 $ { STAGING_DIR_TARGET } $ { datadir } / base - passwd / passwd . master $ { STAGING_DIR_TARGET } $ { sysconfdir } / passwd
install - p - m 644 $ { STAGING_DIR_TARGET } $ { datadir } / base - passwd / group . master $ { STAGING_DIR_TARGET } $ { sysconfdir } / group
fi
}
2011-11-14 12:45:57 +00:00
python populate_packages_prepend ( ) {
2012-07-11 17:33:43 +00:00
# Add in the preinst function for $ { PN }
# We have to do this here as prior to this , passwd / group . master
# would be unavailable . We need to create these files at preinst
# time before the files from the package may be available , hence
# storing the data from the files in the preinst directly .
2011-11-14 12:45:57 +00:00
2012-07-11 17:33:43 +00:00
f = open ( d . expand ( " ${STAGING_DATADIR}/base-passwd/passwd.master " ) , ' r ' )
passwd = " " .join ( f . readlines ( ) )
f . close ( )
f = open ( d . expand ( " ${STAGING_DATADIR}/base-passwd/group.master " ) , ' r ' )
group = " " .join ( f . readlines ( ) )
f . close ( )
2011-11-14 12:45:57 +00:00
2012-07-11 17:33:43 +00:00
preinst = " "" #!/bin/sh
2013-02-21 06:22:16 +00:00
mkdir - p $ D $ { sysconfdir }
2011-11-14 12:45:57 +00:00
if [ ! - e $ D $ { sysconfdir } / passwd ] ; then
2012-07-11 17:33:43 +00:00
\ tcat < < EOF > $D $ { sysconfdir } / passwd
2011-11-14 12:45:57 +00:00
" "" + passwd + "" " EOF
fi
if [ ! - e $ D $ { sysconfdir } / group ] ; then
2012-07-11 17:33:43 +00:00
\ tcat < < EOF > $D $ { sysconfdir } / group
2011-11-14 12:45:57 +00:00
" "" + group + "" " EOF
fi
" ""
2012-07-11 17:33:43 +00:00
d . setVar ( ' pkg_preinst_ $ { PN } ' , preinst )
2011-11-14 12:45:57 +00:00
}
2011-11-29 10:40:23 +00:00
addtask do_package after do_populate_sysroot
2012-03-15 00:14:43 +00:00
ALLOW_EMPTY_ $ { PN } = " 1 "
PACKAGES = + " ${PN}-update "
FILES_ $ { PN } - update = " ${sbindir}/* ${datadir}/${PN} "
2011-11-14 13:54:22 +00:00
pkg_postinst_ $ { PN } - update ( ) {
# ! / bin / sh
if [ - n " $D " ] ; then
exit 0
fi
$ { sbindir } / update - passwd
}