[Buildroot] [PATCH 08/10] support: mkusers: add warning when using mkpasswd from the host system
Peter Korsgaard
jacmet at uclibc.org
Sun Jan 19 20:29:13 UTC 2014
>>>>> "Samuel" == Samuel Martin <s.martin49 at gmail.com> writes:
> Because the mkpasswd provided by some distribution does not support all
> options used in the mkusers script, mkpasswd has been integrated as a
> package.
> However, using a custom rootfs skeleton, the host-mkpasswd target is not
> automatically built, even if some packages add users.
> In this case, to help the Buildroot users understanding what happen when
> the mkpasswd from the host system is used (so, might fail), mkusers now
> print a warning message explaining how to solve this.
Why not just fix it to always use our mkpasswd? E.G. something like
adding host-mkpasswd to dependencies in fs/common.mk if PACKAGE_USERS
isn't empty?
> Cc: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
> ---
> support/scripts/mkusers | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
> diff --git a/support/scripts/mkusers b/support/scripts/mkusers
> index 3b287b8..dd011eb 100755
> --- a/support/scripts/mkusers
> +++ b/support/scripts/mkusers
> @@ -52,6 +52,22 @@ PASSWD_METHOD="$( sed -r -e '/^BR2_TARGET_GENERIC_PASSWD_METHOD="(.*)"$/!d;'
> )"
> #----------------------------------------------------------------------------
> +check_mkpasswd() {
> + local mkpasswd_path="$(readlink -f $(which mkpasswd 2>/dev/null))"
> + local host_dir="$(readlink -f "${HOST_DIR}")"
> + case "${mkpasswd_path}" in
> + "${host_dir}"*) ;;
> + *)
> + error \
> + "WARNING: using mkpasswd from the host system: '%s'. %s%s%s\n" \
> + "${mkpasswd_path}" \
> + "To avoid build failures because of unsupported options by " \
> + "your host system's mkpasswd, make sure to use the one " \
> + "Buildroot provides, by building the 'host-mkpasswd' target."
> + ;;
> + esac
> +}
> +#----------------------------------------------------------------------------
> get_uid() {
> local username="${1}"
> @@ -264,6 +280,7 @@ add_user_to_group() {
> encode_password() {
> local passwd="${1}"
> + check_mkpasswd
> mkpasswd -m "${PASSWD_METHOD}" "${passwd}"
> }
> --
> 1.8.5.3
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list