PAM Integration: Difference between revisions

From Yocto Project
Jump to navigationJump to search
Line 6: Line 6:


* at
* at
** enable pam option, it can pass compiling.  
** enable pam option, it can pass compiling. We will test pam function later
diff --git a/meta/recipes-extended/at/at-3.1.12/configure-add-enable-pam.patch b/meta/recipes-extended/at/at-3.1.12/configure-add-enable-pam.patch
new file mode 100644
index 0000000..f5efb1b
--- /dev/null
+++ b/meta/recipes-extended/at/at-3.1.12/configure-add-enable-pam.patch
@@ -0,0 +1,23 @@
+--- at-3.1.12/configure.ac 2011-06-23 14:51:03.653572945 +0800
++++ at-3.1.12/configure.ac.new 2011-06-27 16:12:14.903572945 +0800
+@@ -81,10 +81,18 @@
+ AC_FUNC_VPRINTF
+ AC_FUNC_GETLOADAVG
+ AC_CHECK_FUNCS(getcwd mktime strftime setreuid setresuid sigaction waitpid)
++
++AC_ARG_WITH([pam],
++  [AS_HELP_STRING([--without-pam], [without PAM support])])
++
++if test "x$with_pam" != xno; then
+ AC_CHECK_HEADERS(security/pam_appl.h, [
+  PAMLIB="-lpam"
+-  AC_DEFINE(HAVE_PAM, 1, [Define to 1 for PAM support])
+-])
++  AC_DEFINE(HAVE_PAM, 1, [Define to 1 for PAM support])],
++  [if test "x$with_pam" = xyes; then
++  AC_MSG_ERROR([PAM selected but security/pam_misc.h not found])
++  fi])
++fi
+
+ dnl Checking for programs
+
diff --git a/meta/recipes-extended/at/at_3.1.12.bb b/meta/recipes-extended/at/at_3.1.12.bb
index 3a94497..25ebf50 100644
--- a/meta/recipes-extended/at/at_3.1.12.bb
+++ b/meta/recipes-extended/at/at_3.1.12.bb
@@ -4,10 +4,11 @@ the system load levels drop to a particular level."
SECTION = "base"
LICENSE="GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-DEPENDS = "flex libpam initscripts"
+DEPENDS = "flex libpam initscripts \
+ ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
RCONFLICTS_${PN} = "atd"
RREPLACES_${PN} = "atd"
-PR = "r4"
+PR = "r5"
SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \
    file://configure.patch \
@@ -17,7 +18,8 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \
    file://posixtm.c \
    file://posixtm.h \
    file://file_replacement_with_gplv2.patch \
-    file://S99at"
+    file://S99at \
+ file://configure-add-enable-pam.patch"
SRC_URI[md5sum] = "1e67991776148fb319fd77a2e599a765"
SRC_URI[sha256sum] = "7c55c6ab4fbe8add9e68f31b2b0ebf3fe805c9a4e7cfb2623a3d8a4789cc18f3"
@@ -26,7 +28,8 @@ EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
                  --with-daemon_username=root \
                  --with-daemon_groupname=root \
                  --with-jobdir=/var/spool/at/jobs \
-                --with-atspool=/var/spool/at/spool"
+                --with-atspool=/var/spool/at/spool \
+ ${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} "
inherit autotools
* consolekit
* consolekit
** enable pam option, it can pass compiling. We will test pam function later
* cronie
* cronie
** enable pam option, it can pass compiling. We will test pam function later
* cups
* cups
** enable pam option, it can pass compiling. We will test pam function later
* dropbear
* dropbear
** enable pam option, it can pass compiling.
** We should add patches to support pam function. 
* gnome-keyring
* gnome-keyring
** enable pam option, it can pass compiling. We will test pam function later
* libcap
* libcap
** enable pam option, it can pass compiling. We will test pam function later
* libuser
* libuser
** enable pam option, it can pass compiling. We will test pam function later
* mc
* mc
** enable pam option, it can pass compiling. We will test pam function later
* openssh
* openssh
** Absent configuration /etc/pam.d/sshd, we need to add patches. After adding this file, it can supprot pam function through simple test.
* polkit
* polkit
** enable pam option, it can pass compiling. We will test pam function later
* screen
* screen
** enable pam option, it can pass compiling. We will test pam function later
* shadow
* shadow
** enable pam option, it can pass compiling. We will test pam function later
* sudo
* sudo
** enable pam option, it can pass compiling. We will test pam function later
* util-linux
* util-linux
 
** enable pam option, it can pass compiling. We will test pam function later
Note also:
Note also:



Revision as of 09:09, 1 July 2011

For Yocto 1.1 we are working to ensure that PAM (Pluggable Authentication Module) support is consistent and enabled in recipes where it is applicable.

Recipes with PAM support

The following recipes were identified to have PAM support (some already implemented) on 2011-06-27:

  • at
    • enable pam option, it can pass compiling. We will test pam function later
  • consolekit
    • enable pam option, it can pass compiling. We will test pam function later
  • cronie
    • enable pam option, it can pass compiling. We will test pam function later
  • cups
    • enable pam option, it can pass compiling. We will test pam function later
  • dropbear
    • enable pam option, it can pass compiling.
    • We should add patches to support pam function.
  • gnome-keyring
    • enable pam option, it can pass compiling. We will test pam function later
  • libcap
    • enable pam option, it can pass compiling. We will test pam function later
  • libuser
    • enable pam option, it can pass compiling. We will test pam function later
  • mc
    • enable pam option, it can pass compiling. We will test pam function later
  • openssh
    • Absent configuration /etc/pam.d/sshd, we need to add patches. After adding this file, it can supprot pam function through simple test.
  • polkit
    • enable pam option, it can pass compiling. We will test pam function later
  • screen
    • enable pam option, it can pass compiling. We will test pam function later
  • shadow
    • enable pam option, it can pass compiling. We will test pam function later
  • sudo
    • enable pam option, it can pass compiling. We will test pam function later
  • util-linux
    • enable pam option, it can pass compiling. We will test pam function later

Note also:

  • The busybox box login has a option to use pam, but we use tinylogin's login right now (tinylogin also provides the su command)
  • gettext has a example file use pam in source code, I think it is just a example and don't need care
  • sysvinit has a patch contrib/notify-pam-dead.patch for /sbin/init to use pam , and it doesn't patched right now. And the package doesn't provide pam related configure option either.
  • In xserver-xf86-lite source code subdir os/utils checks #ifdef USE_PAM but there are no configure-time options for PAM.