From a37892632afed78f305e2472c0abee3f634b412a Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Tue, 17 Jun 2014 14:46:37 +0200 Subject: [PATCH] meta-tizen: Fix pam pakage Change-Id: Ibcb46fcf9d3dd49a6712f10219f7cf569b7887f2 (From meta-tizen rev: af13e672d930314f16215679b1cfb09b924b2037) Signed-off-by: Ronan Le Martret Signed-off-by: Patrick Ohly --- meta-tizen/recipes-tizen/pam/pam-extraconf.inc | 93 ++++++++ meta-tizen/recipes-tizen/pam/pam.inc | 287 +++++++++++++++++++++++++ meta-tizen/recipes-tizen/pam/pam_git.bb | 10 + 3 files changed, 390 insertions(+) create mode 100644 meta-tizen/recipes-tizen/pam/pam-extraconf.inc create mode 100644 meta-tizen/recipes-tizen/pam/pam.inc create mode 100644 meta-tizen/recipes-tizen/pam/pam_git.bb diff --git a/meta-tizen/recipes-tizen/pam/pam-extraconf.inc b/meta-tizen/recipes-tizen/pam/pam-extraconf.inc new file mode 100644 index 0000000..ba89369 --- /dev/null +++ b/meta-tizen/recipes-tizen/pam/pam-extraconf.inc @@ -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/meta-tizen/recipes-tizen/pam/pam.inc b/meta-tizen/recipes-tizen/pam/pam.inc new file mode 100644 index 0000000..edd78a9 --- /dev/null +++ b/meta-tizen/recipes-tizen/pam/pam.inc @@ -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/meta-tizen/recipes-tizen/pam/pam_git.bb b/meta-tizen/recipes-tizen/pam/pam_git.bb new file mode 100644 index 0000000..80bcf5d --- /dev/null +++ b/meta-tizen/recipes-tizen/pam/pam_git.bb @@ -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 " + -- 2.7.4