[Buildroot] [ PATCH v4 15/20] shadow: new package
Clayton Shotwell
clshotwe at rockwellcollins.com
Thu Dec 12 18:27:15 UTC 2013
Signed-off-by: Clayton Shotwell <clshotwe at rockwellcollins.com>
---
Changes v3 -> v4:
- Added back in the Python bindings configure option (suggested by
Thomas).
- Moved the linux-pam shadow configuration changes inside the
linux-pam if block (suggested by Ryan).
Changes v2 -> v3:
- Corrected spelling error.
Changes v1 -> v2:
- General cleanup to the mk file to conform to the standard format.
---
package/Config.in | 3 ++
package/setools/setools.mk | 2 +-
package/shadow/Config.in | 13 +++++++++++
package/shadow/shadow.mk | 50 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 67 insertions(+), 1 deletions(-)
create mode 100644 package/shadow/Config.in
create mode 100644 package/shadow/shadow.mk
diff --git a/package/Config.in b/package/Config.in
index 343927d..d4442db 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -961,6 +961,9 @@ source "package/lockfile-progs/Config.in"
source "package/logrotate/Config.in"
source "package/logsurfer/Config.in"
source "package/screen/Config.in"
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
+source "package/shadow/Config.in"
+endif
source "package/sudo/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/time/Config.in"
diff --git a/package/setools/setools.mk b/package/setools/setools.mk
index eb3f4cc..c99cdeb 100644
--- a/package/setools/setools.mk
+++ b/package/setools/setools.mk
@@ -63,7 +63,7 @@ HOST_SETOOLS_CONF_OPT = \
--with-sepol-devel="$(HOST_DIR)/usr" \
--with-selinux-devel="$(HOST_DIR)/usr" \
-ifeq ($(BR2_PACKAGE_PYTHON),y)
+ifeq ($(BR2_PACKAGE_SETOOLS_PYTHON_BINDINGS),y)
HOST_SETOOLS_DEPENDENCIES += host-python host-swig
HOST_SETOOLS_CONF_ENV += \
am_cv_pathless_PYTHON=python \
diff --git a/package/shadow/Config.in b/package/shadow/Config.in
new file mode 100644
index 0000000..5692ac6
--- /dev/null
+++ b/package/shadow/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_SHADOW
+ bool "shadow"
+ help
+ The shadow-utils package includes the necessary programs for
+ converting UNIX password files to the shadow password format, plus
+ programs for managing user and group accounts. The pwconv command
+ converts passwords to the shadow password format. The pwunconv command
+ unconverts shadow passwords and generates an npasswd file (a standard
+ UNIX password file). The pwck command checks the integrity of password
+ and shadow files. The lastlog command prints out the last login times
+ for all users. The useradd, userdel, and usermod commands are used for
+ managing user accounts. The groupadd, groupdel, and groupmod commands
+ are used for managing group accounts.
diff --git a/package/shadow/shadow.mk b/package/shadow/shadow.mk
new file mode 100644
index 0000000..774162b
--- /dev/null
+++ b/package/shadow/shadow.mk
@@ -0,0 +1,50 @@
+################################################################################
+#
+# shadow
+#
+################################################################################
+
+SHADOW_VERSION = 4.1.5.1
+SHADOW_SOURCE = shadow-$(SHADOW_VERSION).tar.bz2
+SHADOW_SITE = http://pkg-shadow.alioth.debian.org/releases/
+SHADOW_LICENSE = BSD
+SHADOW_LICENSE_FILES = COPYING
+SHADOW_DEPENDENCIES = acl attr busybox
+
+SHADOW_INSTALL_STAGING = NO
+
+SHADOW_CONF_OPT = --disable-nls
+
+# Shadow configuration to support audit
+ifeq ($(BR2_PACKAGE_AUDIT),y)
+SHADOW_DEPENDENCIES += audit
+SHADOW_CONF_OPT += --with-audit=yes
+endif
+
+# Shadow with linux-pam support
+ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
+SHADOW_DEPENDENCIES += linux-pam
+SHADOW_CONF_OPT += --with-libpam=yes
+
+# Comment out all config entries that conflict with using PAM
+define SHADOW_LOGIN_CONFIGURATION
+ for FUNCTION in FAIL_DELAY FAILLOG_ENAB LASTLOG_ENAB MAIL_CHECK_ENAB \
+ OBSCURE_CHECKS_ENAB PORTTIME_CHECKS_ENAB QUOTAS_ENAB CONSOLE MOTD_FILE \
+ FTMP_FILE NOLOGINS_FILE ENV_HZ PASS_MIN_LEN SU_WHEEL_ONLY CRACKLIB_DICTPATH \
+ PASS_CHANGE_TRIES PASS_ALWAYS_WARN CHFN_AUTH ENCRYPT_METHOD ENVIRON_FILE ; \
+ do \
+ sed -i "s/^$${FUNCTION}/# &/" $(TARGET_DIR)/etc/login.defs ; \
+ done
+endef
+
+SHADOW_POST_INSTALL_TARGET_HOOKS += SHADOW_LOGIN_CONFIGURATION
+
+endif
+
+# Shadow with selinux support
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+SHADOW_DEPENDENCIES += libselinux libsemanage
+SHADOW_CONF_OPT += --with-selinux=yes
+endif
+
+$(eval $(autotools-package))
--
1.7.1
More information about the buildroot
mailing list