V2 Fix libpam's chmod

The libpam's has an error when generating the rootfs:

chmod: cannot access `/usr/sbin/unix_chkpwd': No such file or directory

This is because the following code in libpam_1.1.5.bb:

pkg_postinst_pam-plugin-unix () {
    # below is necessary to allow unix_chkpwd get user info from shadow file
    # on lsb images
    chmod 4755 ${sbindir}/unix_chkpwd
}

This is to set the setuid permission for unix_chkpwd (the lsb test
requires this), but it lacks a "${D}", and we can do this in the install
stage.

[YOCTO #2049]

(From OE-Core rev: 0725c7f01b173b1cc2090f4a03a274c7017b8a1a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2012-03-02 18:34:19 +08:00 committed by Richard Purdie
parent 6fd4699d07
commit 8ac3b74dc9
1 changed files with 3 additions and 6 deletions

View File

@ -9,7 +9,7 @@ SECTION = "base"
LICENSE = "GPLv2+ | BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=ca0395de9a86191a078b8b79302e3083"
PR = "r2"
PR = "r3"
SRC_URI = "https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-${PV}.tar.bz2 \
file://99_pam \
@ -85,10 +85,7 @@ do_install() {
install -d ${D}${sysconfdir}/pam.d/
install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
}
pkg_postinst_pam-plugin-unix () {
# below is necessary to allow unix_chkpwd get user info from shadow file
# on lsb images
chmod 4755 ${sbindir}/unix_chkpwd
# The lsb requires unix_chkpwd has setuid permission
chmod 4755 ${D}${sbindir}/unix_chkpwd
}