Merge pam conf
authorRonan Le Martret <ronan@fridu.net>
Mon, 26 May 2014 14:23:56 +0000 (16:23 +0200)
committerRonan Le Martret <ronan@fridu.net>
Mon, 26 May 2014 14:23:56 +0000 (16:23 +0200)
Change-Id: Ib5833dfffa1b9343eacbb2d60720122493655382

conf/layer.conf
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]
recipes-tizen/weston-common/weston-common-extraconf.inc

index 2116e38..1892a5d 100644 (file)
@@ -21,6 +21,7 @@ IMAGE_ROOTFS_SIZE_ext3 = "262144"
 
 
 PREFERRED_PROVIDER_rpmbuild = "rpm-native"
+PREFERRED_PROVIDER_libpam = "pam"
 
 DEPENDS_remove =  "rpmresolve-native"
 
diff --git a/recipes-tizen/pam/pam-extraconf.inc b/recipes-tizen/pam/pam-extraconf.inc
new file mode 100644 (file)
index 0000000..ad16c1d
--- /dev/null
@@ -0,0 +1,30 @@
+#EXTRA_OECONF = "--with-db-uniquename=_pam \
+#                --includedir=${includedir}/security \
+#                --libdir=${base_libdir} \
+#                --disable-nis \
+#                --disable-regenerate-docu \
+#                --disable-prelude"
+
+EXTRA_OECONF = "--with-db-uniquename=_pam \
+                --disable-nis \
+                --disable-regenerate-docu \
+                --disable-prelude"
+
+#CFLAGS_append = " -fPIC "
+
+#inherit autotools gettext pkgconfig
+
+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"
+
diff --git a/recipes-tizen/pam/pam.inc b/recipes-tizen/pam/pam.inc
new file mode 100644 (file)
index 0000000..2b3b0e8
--- /dev/null
@@ -0,0 +1,267 @@
+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_append_class-native = " gcc"
+DEPENDS_append_class-target = " gcc-cross"
+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
+
+
+}
+
+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_${PN}-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}"
+
+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 "
+
index a03849a..34258a6 100644 (file)
@@ -10,3 +10,12 @@ USERADD_PARAM_${PN} += " -d /home/bob   -m -u 5002   -g users   -G display -r -s
 USERADD_PARAM_${PN} += " -d /home/carole -m -u 5003   -g users   -G display -r -s /bin/sh carole; "
 USERADD_PARAM_${PN} += " -d /home/guest -m -u 9999   -g users   -G display -r -s /bin/sh guest "
 
+pkg_postinst_${PN} () {
+for user in alice bob carol app guest; do
+       for appdir in desktop manifest dbspace; do
+               mkdir -p ${D}/home/$user/.applications/$appdir
+       done
+       find ${D}/home/$user/ -type d -exec chsmack -a User {} \;
+       chown -R $user:users ${D}/home/$user/
+done
+}