[oe-commits] Chris Larson : shadow: reorg into .inc, pull some mvl6 changes over, use a 'pam' distro feature.

git version control git at git.openembedded.org
Fri Jan 22 16:47:43 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 0174458a6214e8111f527c0030a868aecf876e05
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=0174458a6214e8111f527c0030a868aecf876e05

Author: Chris Larson <clarson at mvista.com>
Date:   Thu Jan  7 13:25:13 2010 -0700

shadow: reorg into .inc, pull some mvl6 changes over, use a 'pam' distro feature.

Signed-off-by: Chris Larson <clarson at mvista.com>

---

 recipes/shadow/shadow.inc        |   91 ++++++++++++++++++++++++++++++++++++++
 recipes/shadow/shadow_4.1.4.1.bb |    3 +
 recipes/shadow/shadow_4.1.4.2.bb |   55 +----------------------
 recipes/shadow/shadow_4.1.4.bb   |   12 +----
 4 files changed, 98 insertions(+), 63 deletions(-)

diff --git a/recipes/shadow/shadow.inc b/recipes/shadow/shadow.inc
new file mode 100644
index 0000000..83d06c3
--- /dev/null
+++ b/recipes/shadow/shadow.inc
@@ -0,0 +1,91 @@
+# Configuration parameters
+SHADOW_MAILFILE ?= "Mailbox"
+SHADOW_MAILDIR ?= "${localstatedir}/spool/mail"
+SHADOW_UTMPDIR ?= "${localstatedir}/utmp"
+SHADOW_LOGDIR ?= "${localstatedir}/log"
+
+# Metadata
+DESCRIPTION = "Tools to change and administer password and group data."
+HOMEPAGE = "http://pkg-shadow.alioth.debian.org/"
+LICENSE = "BSD"
+SECTION = "base"
+DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+INC_PR = "r6"
+
+# Additional Policy files for PAM
+PAM_SRC_URI = " \
+           file://pam.d/chfn \
+           file://pam.d/chpasswd \
+           file://pam.d/chsh \
+           file://pam.d/login \
+           file://pam.d/newusers \
+           file://pam.d/passwd \
+           file://pam.d/su \
+"
+SRC_URI = "ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-${PV}.tar.bz2 \
+           file://login_defs_pam.sed \
+           ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+           file://securetty \
+"
+
+inherit autotools gettext
+
+EXTRA_OECONF += "\
+    --disable-account-tools-setuid \
+    --without-audit \
+    --without-selinux \
+    --without-libcrack \
+    ${@base_contains('DISTRO_FEATURES', 'pam', '--with-libpam', '--without-libpam', d)} \
+"
+
+CFLAGS += "-I../include"
+
+do_configure_prepend () {
+    export CONFIG_SITE="${CONFIG_SITE} ${B}/cachedpaths"
+    cat <<END >${B}/cachedpaths
+shadow_cv_maildir=${SHADOW_MAILDIR}
+shadow_cv_mailfile=${SHADOW_MAILFILE}
+shadow_cv_utmpdir=${SHADOW_UTMPDIR}
+shadow_cv_logdir=${SHADOW_LOGDIR}
+shadow_cv_passwd_dir=${bindir}
+END
+}
+
+do_install_append() {
+  # Ensure that the image has as /var/spool/mail dir so shadow can put mailboxes there if the user
+  # reconfigures Shadow to default (see sed below).
+  install -d ${D}${SHADOW_MAILDIR}
+
+  if [ -e ${WORKDIR}/pam.d ]; then
+      install -d ${D}${sysconfdir}/pam.d/
+      install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
+  fi
+
+  # Remove defaults that are not used when supporting PAM
+  ${@base_contains('DISTRO_FEATURES', 'pam', 'sed -i -f ${WORKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs', '', d)}
+
+  # Enable CREATE_HOME by default.
+  sed -i 's/#CREATE_HOME/CREATE_HOME/g' ${D}${sysconfdir}/login.defs
+
+  # As we are on an embedded system ensure the users mailbox is in ~/ not
+  # /var/spool/mail by default as who knows where or how big /var is.
+  # The system MDA will set this later anyway.
+  sed -i 's/MAIL_DIR/#MAIL_DIR/g' ${D}${sysconfdir}/login.defs
+  sed -i 's/#MAIL_FILE/MAIL_FILE/g' ${D}${sysconfdir}/login.defs
+
+  mv ${D}${sbindir}/chpasswd ${D}${sbindir}/chpasswd.${PN}
+  mv ${D}${bindir}/passwd ${D}${bindir}/chpasswd.${PN}
+
+  install -m 0644 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty
+}
+
+pkg_postinst_${PN} () {
+    update-alternatives --install ${bindir}/passwd passwd passwd.${PN} 100
+    update-alternatives --install ${sbindir}/chpasswd chpasswd chpasswd.${PN} 100
+}
+
+pkg_prerm_${PN} () {
+    update-alternatives --remove passwd passwd.${PN}
+    update-alternatives --remove chpasswd chpasswd.${PN}
+}
diff --git a/recipes/shadow/shadow_4.1.4.1.bb b/recipes/shadow/shadow_4.1.4.1.bb
new file mode 100644
index 0000000..7f9d403
--- /dev/null
+++ b/recipes/shadow/shadow_4.1.4.1.bb
@@ -0,0 +1,3 @@
+require shadow.inc
+
+PR = "${INC_PR}.0"
diff --git a/recipes/shadow/shadow_4.1.4.2.bb b/recipes/shadow/shadow_4.1.4.2.bb
index b53f89f..7f9d403 100644
--- a/recipes/shadow/shadow_4.1.4.2.bb
+++ b/recipes/shadow/shadow_4.1.4.2.bb
@@ -1,54 +1,3 @@
-DESCRIPTION = "login/password and account utilities"
-LICENSE = "GPL"
+require shadow.inc
 
-DEPENDS = "libpam"
-
-PR = "r6"
-
-EXTRA_OECONF += " --enable-shared  --enable-static --with-libpam --without-libcrack"
-
-inherit autotools
-
-HOMEPAGE = "http://pkg-shadow.alioth.debian.org/"
-SRC_URI = "ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-${PV}.tar.bz2 \
-           file://login_defs_pam.sed \
-"
-
-# Additional Policy files for PAM
-SRC_URI_append = " \
-           file://pam.d/chfn \ 
-           file://pam.d/chpasswd \
-           file://pam.d/chsh \
-           file://pam.d/login \
-           file://pam.d/newusers \
-           file://pam.d/passwd \
-           file://pam.d/su \
-           file://securetty \
-"
-
-S = "${WORKDIR}/shadow-${PV}"
-
-CFLAGS_append = " -I../include"
-
-do_install_append() {
-  # Ensure that the image has as /var/spool/mail dir so shadow can put mailboxes there if the user
-  # reconfigures Shadow to default (see sed below).
-  install -d ${D}${localstatedir}/spool/mail/  
-  
-  install -d ${D}${sysconfdir}/pam.d/  
-  install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
-
-  # Remove defaults that are not used when supporting PAM
-  sed -i -f ${WORKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs
-
-  # Enable CREATE_HOME by default.
-  sed -i 's/#CREATE_HOME/CREATE_HOME/g' ${D}${sysconfdir}/login.defs 
-  
-  # As we are on an embedded system ensure the users mailbox is in ~/ not 
-  # /var/spool/mail by default as who knows where or how big /var is.
-  # The system MDA will set this later anyway.
-  sed -i 's/MAIL_DIR/#MAIL_DIR/g' ${D}${sysconfdir}/login.defs 
-  sed -i 's/#MAIL_FILE/MAIL_FILE/g' ${D}${sysconfdir}/login.defs 
-
-  install -m 0644 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty
-}
+PR = "${INC_PR}.0"
diff --git a/recipes/shadow/shadow_4.1.4.bb b/recipes/shadow/shadow_4.1.4.bb
index 393edce..7f9d403 100644
--- a/recipes/shadow/shadow_4.1.4.bb
+++ b/recipes/shadow/shadow_4.1.4.bb
@@ -1,11 +1,3 @@
-DESCRIPTION = "login/password utilities"
-LICENSE = "GPL"
-
-inherit autotools
-
-SRC_URI = "ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-${PV}.tar.gz"
-
-S = "${WORKDIR}/shadow-${PV}"
-
-CFLAGS_append = " -I../include"
+require shadow.inc
 
+PR = "${INC_PR}.0"





More information about the Openembedded-commits mailing list