Use useradd and update-rc.d classes in the OpenSSH recipe

The current sshd postinst and postrm scripts in the OpenSSH make the
package dependant of the adduser/addgroup scripts which may not be
available on all systems.

This patch replaces the sshd postinst and postrm scripts with proper
usage of the useradd and update-rc.d classes.

This patch had been modified from the previous proposed version to
use useradd long options for more clarity.

(From OE-Core rev: 6b7f399d595ef58e759dab211f4ece155119a680)

(From OE-Core rev: 058116f528bff27ca5a0e56bbf8070e94f934f32)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Julian Pidancet 2011-10-07 01:13:41 +01:00 committed by Richard Purdie
parent ab81049f37
commit e6e867558b
1 changed files with 8 additions and 21 deletions

View File

@ -29,6 +29,14 @@ PAM_SRC_URI = "file://sshd"
SRC_URI[md5sum] = "0541579adf9d55abb15ef927048d372e"
SRC_URI[sha256sum] = "5c35ec7c966ce05cc4497ac59c0b54a556e55ae7368165cc8c4129694654f314"
inherit useradd update-rc.d
USERADD_PACKAGES = "${PN}-sshd"
USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
INITSCRIPT_PACKAGES = "${PN}-sshd"
INITSCRIPT_NAME_${PN}-sshd = "sshd"
INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
inherit autotools
# LFS support:
@ -91,16 +99,6 @@ RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
DEPENDS_${PN}-sshd += "update-rc.d"
RDEPENDS_${PN}-sshd += "update-rc.d ${PN}-keygen"
pkg_postinst_${PN}-sshd () {
if [ "x$D" != "x" ]; then
exit 1
else
addgroup sshd
adduser --system --home /var/run/sshd --no-create-home --disabled-password --ingroup sshd -s /bin/false sshd
update-rc.d sshd defaults 9
fi
}
pkg_postinst_${PN}-scp () {
update-alternatives --install ${bindir}/scp scp scp.${PN} 90
}
@ -117,16 +115,5 @@ pkg_postrm_${PN}-scp () {
update-alternatives --remove ${bindir}/scp scp.${PN}
}
pkg_postrm_${PN}-sshd () {
if [ "x$D" != "x" ]; then
exit 1
else
${sysconfdir}/init.d/sshd stop
deluser sshd
delgroup sshd
update-rc.d -f sshd remove
fi
}
CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"