]> code.ossystems Code Review - openembedded-core.git/commitdiff
screen: add pam support
authorKang Kai <kai.kang@windriver.com>
Wed, 20 Jul 2011 02:16:47 +0000 (10:16 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 27 Jul 2011 10:54:50 +0000 (11:54 +0100)
According to DISTRO_FEATURES then add screen pam support or not.
Press "Ctrl+a x" will lock the screen terminal, then unlock it will
use pam.
Add pam related configure file sceen.pam from Fedora.

Signed-off-by: Kang Kai <kai.kang@windriver.com>
meta/recipes-extended/screen/screen-4.0.3/screen.pam [new file with mode: 0644]
meta/recipes-extended/screen/screen_4.0.3.bb

diff --git a/meta/recipes-extended/screen/screen-4.0.3/screen.pam b/meta/recipes-extended/screen/screen-4.0.3/screen.pam
new file mode 100644 (file)
index 0000000..ff657fa
--- /dev/null
@@ -0,0 +1,2 @@
+#%PAM-1.0
+auth       include      common-auth
index dac28936bc15a2a13a90bf614e2469e17732ea9a..27f39ddfce5fca33db127f74fa00dabb880fa6c3 100644 (file)
@@ -10,12 +10,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0774d66808b0f602e94448108f59448b \
                     file://screen.h;endline=23;md5=9a7ae69a2aafed891bf7c38ddf9f6b7d"
 
 SECTION = "console/utils"
-DEPENDS = "ncurses"
-PR = "r0"
+DEPENDS = "ncurses \
+          ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+PR = "r1"
 
 SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz;name=tarball \
            ${DEBIAN_MIRROR}/main/s/screen/screen_4.0.3-11+lenny1.diff.gz;name=patch \
-           file://configure.patch"
+           file://configure.patch \
+           ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
+
+PAM_SRC_URI = "file://screen.pam"
 
 SRC_URI[tarball.md5sum] = "8506fd205028a96c741e4037de6e3c42"
 SRC_URI[tarball.sha256sum] = "78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77"
@@ -25,5 +29,14 @@ SRC_URI[patch.sha256sum] = "19130d097e9ed897c84a2c640634dd36ee3233c17b0bf5d18549
 
 inherit autotools
 
-EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5"
-
+EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 \
+               ${@base_contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
+
+do_install_append () {
+       for feature in ${DISTRO_FEATURES}; do
+               if [ "$feature" = "pam" ]; then
+                       install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
+                       break
+               fi
+       done
+}