aboutsummaryrefslogtreecommitdiff
path: root/system/system.mk
diff options
context:
space:
mode:
authorGravatar Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com>2013-08-07 20:01:51 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-08-10 19:49:32 +0200
commit59e0692095078ec94d85f58e90aee981b5225306 (patch)
treeb30229820964ce779eaf824f3e27f2996481f899 /system/system.mk
parentd1808f90378360850831eb9291ef1d799bd41c6a (diff)
downloadbuildroot-59e0692095078ec94d85f58e90aee981b5225306.tar.gz
buildroot-59e0692095078ec94d85f58e90aee981b5225306.tar.bz2
host-mkpasswd: new package
Since the addition of root password setting support in buildroot, there have been a few bug reports in this area ([1], [2]). In these cases, the system mkpasswd did either not work, or did not provide the options we expect, like -m <method>. This patch adds a mkpasswd host package, based on the sources from whois. When a non-empty root password is set, this package is used as a dependency. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [1] http://lists.busybox.net/pipermail/buildroot/2013-July/075771.html [2] http://lists.busybox.net/pipermail/buildroot/2013-July/075869.html [Thomas P: use $(INSTALL) instead of install, put -lcrypt at the end of build command line to allow gcc to find the crypt() function in lcrypt.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'system/system.mk')
-rw-r--r--system/system.mk10
1 files changed, 6 insertions, 4 deletions
diff --git a/system/system.mk b/system/system.mk
index df8c802d84..b4ddc3e6e1 100644
--- a/system/system.mk
+++ b/system/system.mk
@@ -2,9 +2,6 @@ TARGET_GENERIC_HOSTNAME := $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
TARGET_GENERIC_ISSUE := $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE))
TARGET_GENERIC_ROOT_PASSWD := $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD))
TARGET_GENERIC_PASSWD_METHOD := $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD))
-ifneq ($(TARGET_GENERIC_ROOT_PASSWD),)
-TARGET_GENERIC_ROOT_PASSWD_HASH = $(shell mkpasswd -m "$(TARGET_GENERIC_PASSWD_METHOD)" "$(TARGET_GENERIC_ROOT_PASSWD)")
-endif
TARGET_GENERIC_GETTY := $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT))
TARGET_GENERIC_GETTY_BAUDRATE := $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE))
TARGET_GENERIC_GETTY_TERM := $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TERM))
@@ -23,8 +20,13 @@ target-generic-issue:
mkdir -p $(TARGET_DIR)/etc
echo "$(TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue
+ifneq ($(TARGET_GENERIC_ROOT_PASSWD),)
+target-root-passwd: host-mkpasswd
+endif
target-root-passwd:
- $(SED) 's,^root:[^:]*:,root:$(TARGET_GENERIC_ROOT_PASSWD_HASH):,' $(TARGET_DIR)/etc/shadow
+ [ -n "$(TARGET_GENERIC_ROOT_PASSWD)" ] && \
+ TARGET_GENERIC_ROOT_PASSWD_HASH=$$($(MKPASSWD) -m "$(TARGET_GENERIC_PASSWD_METHOD)" "$(TARGET_GENERIC_ROOT_PASSWD)"); \
+ $(SED) "s,^root:[^:]*:,root:$$TARGET_GENERIC_ROOT_PASSWD_HASH:," $(TARGET_DIR)/etc/shadow
target-generic-getty-busybox:
$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \