Fix pam pakage
authorRonan Le Martret <ronan@fridu.net>
Tue, 17 Jun 2014 12:46:37 +0000 (14:46 +0200)
committerRonan Le Martret <ronan@fridu.net>
Tue, 17 Jun 2014 12:46:37 +0000 (14:46 +0200)
Change-Id: Ibcb46fcf9d3dd49a6712f10219f7cf569b7887f2
Signed-off-by: Ronan Le Martret <ronan@fridu.net>
recipes-tizen/pam/pam-extraconf.inc [new file with mode: 0644]
recipes-tizen/pam/pam.inc [new file with mode: 0644]
recipes-tizen/pam/pam_git.bb [new file with mode: 0644]

diff --git a/recipes-tizen/pam/pam-extraconf.inc b/recipes-tizen/pam/pam-extraconf.inc
new file mode 100644 (file)
index 0000000..ba89369
--- /dev/null
@@ -0,0 +1,93 @@
+
+SRC_URI += "file://system-auth"
+
+
+EXTRA_OECONF = "--with-db-uniquename=_pam \
+                --disable-nis \
+                --disable-regenerate-docu \
+                --disable-prelude"
+
+PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit,"
+
+pam-dev_files += "${prefix}/include/*"
+
+pam_files += "${prefix}/sbin/*"
+
+pam-dbg_files += "${prefix}/lib/security/.debug/*"
+pam-dbg_files += "${prefix}/lib/security/pam_filter/.debug/*"
+
+FILES_${PN}-dbg += "${pam-dbg_files}"
+INSANE_SKIP_${PN} = "pam-modules-extra"
+
+pam-dev_files += "${prefix}/lib/security/pam_unix_acct.so"
+pam-dev_files += "${prefix}/lib/security/pam_unix_auth.so"
+pam-dev_files += "${prefix}/lib/security/pam_unix_passwd.so"
+pam-dev_files += "${prefix}/lib/security/pam_unix_session.so"
+
+do_install_append() {
+mkdir -p ${D}${prefix}/include/security
+
+for i in _pam_compat.h \
+         _pam_macros.h \
+         _pam_types.h \
+         pam_appl.h \
+         pam_client.h \
+         pam_ext.h \
+         pam_filter.h \
+         pam_misc.h \
+         pam_modules.h \
+         pam_modutil.h  ;do
+    cp ${D}${prefix}/include/${i} ${D}${prefix}/include/security/
+done
+
+install -m 0644 ${WORKDIR}/system-auth ${D}${sysconfdir}/pam.d
+
+}
+
+PROVIDES += 'libpam'
+RPROVIDES_${PN}  += "libpam"
+
+pam-modules-extra_files = ""
+pam-modules-extra_files += "pam.manifest"
+pam-modules-extra_files += "${prefix}/lib/security/pam_access.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_debug.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_echo.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_exec.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_faildelay.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_filter.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_ftp.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_group.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_issue.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_listfile.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_localuser.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_mail.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_motd.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_pwhistory.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_rhosts.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_shells.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_stress.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_tally.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_time.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_timestamp.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_umask.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_acct.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_auth.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_passwd.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_session.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_warn.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_smack.so"
+
+RPROVIDES_${PN} += "libpam-runtime"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-faildelay"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-securetty"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-nologin"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-env"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-group"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-limits"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-lastlog"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-motd"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-mail"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-shells"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-rootok"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-keyinit"
+RPROVIDES_${PN}-modules-extra += "pam-plugin-loginuid"
\ No newline at end of file
diff --git a/recipes-tizen/pam/pam.inc b/recipes-tizen/pam/pam.inc
new file mode 100644 (file)
index 0000000..edd78a9
--- /dev/null
@@ -0,0 +1,287 @@
+DESCRIPTION = "PAM"
+HOMEPAGE = "http://www.linux-pam.org/"
+SECTION = "Security/Access Control"
+LICENSE = "GPL-2.0+ or BSD-3-Clause"
+
+SRC_URI = ""
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+BBCLASSEXTEND = ""
+PROVIDES = ""
+
+#PROVIDES by pam-modules-extra
+
+
+#PROVIDES by pam-docs
+
+
+#PROVIDES by pam-locale
+# the PROVIDES rules is ignore "pam-lang-all = 1.1.6"
+PROVIDES += "pam-lang-all"
+RPROVIDES_pam-locale  += "pam-lang-all"
+
+
+#PROVIDES by pam
+
+
+#PROVIDES by pam-dev
+
+
+RDEPENDS = ""
+#RDEPENDS of pam-modules-extra (${PN}-modules-extra)
+RDEPENDS_${PN}-modules-extra += "pam"
+
+#RDEPENDS of pam-locale  (${PN}-locale )
+RDEPENDS_${PN}-locale  += "pam"
+
+#RDEPENDS of pam (${PN})
+RDEPENDS_${PN} += "coreutils"
+RDEPENDS_${PN} += "eglibc"
+
+#RDEPENDS of pam-dev (${PN}-dev)
+RDEPENDS_${PN}-dev += "pam"
+
+
+DEPENDS = ""
+#DEPENDS of pam
+DEPENDS += "flex"
+DEPENDS += "gcc"
+DEPENDS += "zlib"
+DEPENDS += "db"
+#Replace "DEPENDS" on gettext by "inherit gettext"
+inherit gettext
+DEPENDS_append_class-native = " automake-native"
+DEPENDS_append_class-target = " automake-native"
+DEPENDS += "smack"
+DEPENDS_append_class-native = " bison-native"
+DEPENDS_append_class-target = " bison-native"
+DEPENDS += "net-tools"
+DEPENDS_append_class-native = " libtool"
+DEPENDS_append_class-target = " libtool-cross"
+DEPENDS_append_class-native = " autoconf-native"
+DEPENDS_append_class-target = " autoconf-native"
+
+do_prep() {
+ cd ${S}
+ chmod -Rf a+rX,u+w,g-w,o-w ${S}
+ #setup -q -n Linux-PAM-1.1.6
+ cp ${S}/packaging/pam.manifest .
+
+
+
+}
+do_patch_append() {
+    bb.build.exec_func('do_prep', d)
+}
+
+do_configure() {
+}
+
+do_compile() {
+ cd ${S}
+ LANG=C
+ export LANG
+ unset DISPLAY
+ CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" ; export CFLAGS ;
+ CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ;
+ FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ;
+ LD_AS_NEEDED=1; export LD_AS_NEEDED ;
+
+ CFLAGS="-fPIC -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables " ; export CFLAGS
+
+
+   CFLAGS="${CFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CFLAGS ;
+   CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ;
+   FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ;
+   autotools_do_configure --build=${TARGET_SYS} --host=${HOST_SYS} \
+         --target=x86_64-tizen-linux \
+         --program-prefix= \
+         --prefix=${prefix} \
+         --exec-prefix=${prefix} \
+         --bindir=${prefix}/bin \
+         --sbindir=/sbin \
+         --sysconfdir=${sysconfdir} \
+         --datadir=${prefix}/share \
+         --includedir=${prefix}/include \
+         --libdir=${prefix}/lib \
+         --libexecdir=${prefix}/libexec \
+         --localstatedir=${localstatedir} \
+         --sharedstatedir=${prefix}/com \
+         --mandir=${mandir} \
+         --infodir=${infodir} \
+         --libdir=${prefix}/lib \
+         --includedir=${prefix}/include/security \
+         --enable-isadir=../..${prefix}/lib/security \
+         --disable-audit \
+         --with-db-uniquename=_pam \
+         --with-libiconv-prefix=/usr \
+         --enable-read-both-confs &&
+
+ make  CFLAGS="$CFLAGS -lfl -lcrypt"
+
+
+
+}
+
+do_install() {
+ echo export RPM_BUILD_ROOT=${D}
+ cd ${S}
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf ${D}
+ mkdir -p ${D}
+
+
+   oe_runmake \
+         DESTDIR=${D} \
+         INSTALL_ROOT=${D} \
+         BINDIR=${prefix}/bin \
+   install
+   rm -f ${D}${infodir}/dir
+   find ${D} -regex ".*\.la$" | xargs rm -f --
+   find ${D} -regex ".*\.a$" | xargs rm -f --
+
+ # RPM uses docs from source tree
+ rm -rf ${D}${prefix}/share/doc/Linux-PAM
+ # Included in setup package
+ rm -f ${D}${sysconfdir}/environment
+
+ for phase in auth acct passwd session ; do
+       ln -sf pam_unix.so ${D}${prefix}/lib/security/pam_unix_${phase}.so
+ done
+
+ # Install default pam configuration files
+ install -d -m 0755 ${D}${sysconfdir}/pam.d
+ install -m 0644 ${S}/packaging/system-auth ${D}${sysconfdir}/pam.d/
+ install -m 0644 ${S}/packaging/other ${D}${sysconfdir}/pam.d/
+
+ /usr/share/spec2yocto/macro/lib/find-lang.sh ${D} Linux-PAM
+
+
+}
+
+pkg_postinst_${PN}() {
+    #!/bin/sh -e
+
+    /sbin/ldconfig
+    if [ ! -a /var/log/faillog ] ; then
+       /usr/bin/install -m 600 /dev/null /var/log/faillog
+    fi
+    if [ ! -a /var/log/tallylog ] ; then
+       /usr/bin/install -m 600 /dev/null /var/log/tallylog
+    fi
+
+}
+
+pkg_postrm_${PN}() {
+    #!/bin/sh -e
+
+    /sbin/ldconfig
+}
+
+PACKAGES += "pam-modules-extra"
+PACKAGES += "pam-docs"
+
+pam-modules-extra_files = ""
+pam-modules-extra_files += "pam.manifest"
+pam-modules-extra_files += "${prefix}/lib/security/pam_access.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_debug.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_echo.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_exec.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_faildelay.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_filter.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_ftp.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_group.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_issue.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_listfile.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_localuser.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_mail.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_motd.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_pwhistory.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_rhosts.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_shells.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_stress.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_tally.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_time.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_timestamp.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_umask.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_acct.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_auth.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_passwd.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_unix_session.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_warn.so"
+pam-modules-extra_files += "${prefix}/lib/security/pam_smack.so"
+
+pam-dev_files = ""
+pam-dev_files += "pam.manifest"
+pam-dev_files += "${prefix}/include/security/*"
+pam-dev_files += "${prefix}/lib/libpam.so"
+pam-dev_files += "${prefix}/lib/libpam_misc.so"
+pam-dev_files += "${prefix}/lib/libpamc.so"
+pam-dev_files += "${prefix}/lib/security/pam_tally2.so"
+
+pam_files = ""
+pam_files += "pam.manifest"
+pam_files += "/sbin/pam_tally"
+pam_files += "/sbin/pam_tally2"
+pam_files += "/sbin/pam_timestamp_check"
+pam_files += "/sbin/unix_chkpwd"
+pam_files += "/sbin/unix_update"
+pam_files += "/sbin/mkhomedir_helper"
+pam_files += "${sysconfdir}/security/limits.conf"
+pam_files += "${prefix}/lib/libpam.so.*"
+pam_files += "${prefix}/lib/libpam_misc.so.*"
+pam_files += "${prefix}/lib/libpamc.so.*"
+#pam_files += "${prefix}/lib/security"
+pam_files += "${prefix}/lib/security/pam_deny.so"
+pam_files += "${prefix}/lib/security/pam_env.so"
+pam_files += "${prefix}/lib/security/pam_keyinit.so"
+pam_files += "${prefix}/lib/security/pam_limits.so"
+pam_files += "${prefix}/lib/security/pam_loginuid.so"
+pam_files += "${prefix}/lib/security/pam_namespace.so"
+pam_files += "${prefix}/lib/security/pam_nologin.so"
+pam_files += "${prefix}/lib/security/pam_permit.so"
+pam_files += "${prefix}/lib/security/pam_lastlog.so"
+pam_files += "${prefix}/lib/security/pam_rootok.so"
+pam_files += "${prefix}/lib/security/pam_securetty.so"
+pam_files += "${prefix}/lib/security/pam_succeed_if.so"
+pam_files += "${prefix}/lib/security/pam_unix.so"
+pam_files += "${prefix}/lib/security/pam_wheel.so"
+pam_files += "${prefix}/lib/security/pam_xauth.so"
+pam_files += "${prefix}/lib/security/pam_filter"
+pam_files += "${prefix}/lib/security/pam_mkhomedir.so"
+pam_files += "${sysconfdir}/security"
+pam_files += "${sysconfdir}/security/access.conf"
+pam_files += "${sysconfdir}/security/group.conf"
+pam_files += "${sysconfdir}/security/namespace.conf"
+pam_files += "${sysconfdir}/security/namespace.init"
+pam_files += "${sysconfdir}/security/pam_env.conf"
+pam_files += "${sysconfdir}/security/time.conf"
+pam_files += "${sysconfdir}/pam.d"
+pam_files += "${sysconfdir}/pam.d/system-auth"
+pam_files += "${sysconfdir}/pam.d/other"
+
+pam-docs_files = ""
+
+pam-locale_files = ""
+
+FILES_pam-modules-extra += "${pam-modules-extra_files}"
+FILES_${PN}-dev += "${pam-dev_files}"
+FILES_${PN} += "${pam_files}"
+FILES_${PN}-docs += "${pam-docs_files}"
+FILES_${PN}-locale += "${pam-locale_files}"
+
+FILES_${PN} += "toto"
+
+#PKG_pam-modules-extra= "pam-modules_extra"
+#PKG_pam-dev= "pam-dev"
+#PKG_pam= "pam"
+#PKG_pam-docs= "pam-docs"
+#PKG_pam-locale= "pam-locale"
+
+require pam-extraconf.inc
+
diff --git a/recipes-tizen/pam/pam_git.bb b/recipes-tizen/pam/pam_git.bb
new file mode 100644 (file)
index 0000000..80bcf5d
--- /dev/null
@@ -0,0 +1,10 @@
+require pam.inc
+
+PRIORITY = "10"
+
+LIC_FILES_CHKSUM ??= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI += "git://review.tizen.org/platform/upstream/pam;tag=00107b54a1f8f846b0defd1a00b04e5f72990959;nobranch=1"
+
+BBCLASSEXTEND += " native "
+