Просмотр исходного кода

base-files: fix generation of user password

Waldemar Brodkorb 3 дней назад
Родитель
Сommit
d67426c3ff
2 измененных файлов с 9 добавлено и 3 удалено
  1. 5 3
      package/base-files/Makefile
  2. 4 0
      rules.mk

+ 5 - 3
package/base-files/Makefile

@@ -217,9 +217,11 @@ endif
 
 ifeq ($(ADK_RUNTIME_ADDUSER),y)
 	mkdir -p ${IDIR_BASE_FILES}/$(ADK_RUNTIME_USER_HOME)
-	printf "$(ADK_RUNTIME_USER_NAME):x:100:100:$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_HOME):$(ADK_RUNTIME_USER_SHELL)\n" >> ${IDIR_BASE_FILES}/etc/passwd
-	printf "$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_PASSWORD):16514:0:::::\n" >> ${IDIR_BASE_FILES}/etc/shadow
-	printf "$(ADK_RUNTIME_USER_NAME):x:100:\n" >> ${IDIR_BASE_FILES}/etc/group
+	printf '$(ADK_RUNTIME_USER_NAME):x:100:100:$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_HOME):$(ADK_RUNTIME_USER_SHELL)\n' >> ${IDIR_BASE_FILES}/etc/passwd
+	printf '$(ADK_RUNTIME_USER_NAME):*NP*:16514:0:::::\n' >> ${IDIR_BASE_FILES}/etc/shadow
+	printf '$(ADK_RUNTIME_USER_NAME):x:100:\n' >> ${IDIR_BASE_FILES}/etc/group
+	$(SED) 's,\*NP\*,'"$$(awk -F\= '/^ADK_RUNTIME_USER_PASSWORD/ { print $$2 }' $(ADK_TOPDIR)/.config|sed -e 's^\"^^g'),g" \
+		 $(IDIR_BASE_FILES)/etc/shadow
 endif
 
 include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 4 - 0
rules.mk

@@ -78,6 +78,10 @@ ADK_TARGET_LINUX_KERNEL_DEFCONFIG:=	$(strip $(subst ",, $(ADK_TARGET_LINUX_KERNE
 ADK_TARGET_GENIMAGE_FILENAME:=		$(strip $(subst ",, $(ADK_TARGET_GENIMAGE_FILENAME)))
 ADK_TARGET_EXTLINUX_FILENAME:=		$(strip $(subst ",, $(ADK_TARGET_EXTLINUX_FILENAME)))
 ADK_TARGET_ROOTDEV:=			$(strip $(subst ",, $(ADK_TARGET_ROOTDEV)))
+ADK_RUNTIME_USER_NAME:=			$(strip $(subst ",, $(ADK_RUNTIME_USER_NAME)))
+ADK_RUNTIME_USER_PASSWORD:=		$(strip $(subst ",, $(ADK_RUNTIME_USER_PASSWORD)))
+ADK_RUNTIME_USER_HOME:=			$(strip $(subst ",, $(ADK_RUNTIME_USER_HOME)))
+ADK_RUNTIME_USER_SHELL:=		$(strip $(subst ",, $(ADK_RUNTIME_USER_SHELL)))
 
 ADK_TARGET_KARCH:=$(ADK_TARGET_ARCH)