diff options
Diffstat (limited to 'recipes/busybox/busybox.inc')
-rw-r--r-- | recipes/busybox/busybox.inc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/recipes/busybox/busybox.inc b/recipes/busybox/busybox.inc index 29893dabb8..59653e011d 100644 --- a/recipes/busybox/busybox.inc +++ b/recipes/busybox/busybox.inc @@ -23,6 +23,8 @@ SRC_URI = "\ file://hwclock-default \ file://ifupdown-spurious-environ.patch \ file://mount.busybox \ + file://passwd \ + file://shadow \ file://syslog \ file://syslog.conf \ file://udhcpscript.patch \ @@ -34,6 +36,7 @@ SRC_URI_append_nylon = " file://xargs-double-size.patch" export EXTRA_CFLAGS = "${CFLAGS}" EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}" PACKAGES =+ "${PN}-mountall ${PN}-httpd ${PN}-syslog ${PN}-udhcpd" +PACKAGES =+ "${PN}-passwd ${PN}-shadow" # We need this RRECOMMENDS_${PN} because libc dlopens libgcc # and shlib mechanism can not detect it because its not @@ -47,6 +50,8 @@ RDEPENDS_${PN} += "${PN}-mountall" RRECOMMENDS_${PN} += "libgcc ${PN}-syslog" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" +FILES_${PN}-passwd = "${sysconfdir}/passwd.${PN}" +FILES_${PN}-shadow = "${sysconfdir}/shadow.${PN}" FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog.${PN} ${sysconfdir}/syslog.conf" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" @@ -64,6 +69,8 @@ CONFFILES_${PN}-syslog = "${sysconfdir}/syslog.conf" INITSCRIPT_PARAMS_${PN}-syslog_slugos = "start 20 ." RDEPENDS_${PN}-httpd += "${PN}" +RDEPENDS_${PN}-passwd += "${PN}" +RDEPENDS_${PN}-shadow += "${PN}-passwd" RDEPENDS_${PN}-syslog += "${PN}" RDEPENDS_${PN}-udhcpd += "${PN}" @@ -177,6 +184,12 @@ do_install () { fi fi + if grep -q "CONFIG_PASSWD=y" ${WORKDIR}/defconfig; then + install -m 0644 ${WORKDIR}/passwd ${D}${sysconfdir}/passwd.${PN} + if grep -q "CONFIG_FEATURE_SHADOWPASSWDS=y" ${WORKDIR}/defconfig; then + install -m 0640 ${WORKDIR}/shadow ${D}${sysconfdir}/shadow.${PN} + fi + fi if grep -q "CONFIG_SYSLOGD=y" ${WORKDIR}/defconfig; then install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog.${PN} install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/ @@ -260,6 +273,21 @@ pkg_prerm_${PN}-mountall () { update-alternatives --remove default_mountall mountall.${PN} } +pkg_postinst_${PN}-passwd () { + update-alternatives --install ${sysconfdir}/passwd default_passwd passwd.${PN} 50 +} +pkg_prerm_${PN}-passwd () { + update-alternatives --remove default_passwd passwd.${PN} +} + +pkg_postinst_${PN}-shadow () { + update-alternatives --install ${sysconfdir}/shadow default_shadow shadow.${PN} 50 +} +pkg_prerm_${PN}-shadow () { + update-alternatives --remove default_shadow shadow.${PN} +} + + pkg_postinst_${PN}-syslog () { update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50 |