diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2010-07-15 15:25:39 +0200 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2010-07-16 15:23:00 +0200 |
commit | 2724ab1fd87f4367e4735118bdb9eb7ec989b088 (patch) | |
tree | d38cdac230ab1dadbe8a2ae9b5fe148925e56455 | |
parent | d28e842fedff8e1298b975f4b02c69b5bc5920a1 (diff) | |
download | ptxdist-2724ab1fd87f4367e4735118bdb9eb7ec989b088.tar.gz ptxdist-2724ab1fd87f4367e4735118bdb9eb7ec989b088.tar.xz |
[ptxd_make_image_fix_permissions] clean up implementation
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r-- | rules/post/ptxd_make_image_fix_permissions.make | 10 | ||||
-rw-r--r-- | scripts/lib/ptxd_make_image_fix_permissions.sh | 35 |
2 files changed, 23 insertions, 22 deletions
diff --git a/rules/post/ptxd_make_image_fix_permissions.make b/rules/post/ptxd_make_image_fix_permissions.make index 65d9f10ea..4a727e14f 100644 --- a/rules/post/ptxd_make_image_fix_permissions.make +++ b/rules/post/ptxd_make_image_fix_permissions.make @@ -1,6 +1,6 @@ # -*-makefile-*- # -# Copyright (C) 2008, 2009 by Marc Kleine-Budde <mkl@pengutronix.de> +# Copyright (C) 2008, 2009, 2010 by Marc Kleine-Budde <mkl@pengutronix.de> # # See CREDITS for details about who has contributed to this project. # @@ -8,18 +8,16 @@ # see the README file. # -### --- internal --- - -PTX_FIXPERM_RUN := $(STATEDIR)/fix-permissions.run +image/fix_permissions := $(STATEDIR)/ptx_image_fix_permissions # # only run if make goal is "world", i.e. don't run during images_world # ifeq ($(MAKECMDGOALS)-$(PTXCONF_FIX_PERMISSIONS)-$(PTXDIST_QUIET),world-y-) -world: $(PTX_FIXPERM_RUN) +world: $(image/fix_permissions) endif -$(PTX_FIXPERM_RUN): $(STATEDIR)/world.targetinstall +$(image/fix_permissions): $(STATEDIR)/world.targetinstall @$(call image/env) \ ptxd_make_image_fix_permissions diff --git a/scripts/lib/ptxd_make_image_fix_permissions.sh b/scripts/lib/ptxd_make_image_fix_permissions.sh index 33a6914f5..66225bcd8 100644 --- a/scripts/lib/ptxd_make_image_fix_permissions.sh +++ b/scripts/lib/ptxd_make_image_fix_permissions.sh @@ -83,16 +83,19 @@ ptxd_make_image_fix_permissions_check() { export -f ptxd_make_image_fix_permissions_check +# +# ptxd_make_image_fix_permissions - create device nodes in nfsroots +# ptxd_make_image_fix_permissions() { - ptxd_make_image_init || return + ptxd_make_image_init && - local fixscript - fixscript="$(mktemp "${PTXDIST_TEMPDIR}/fixpermissions.XXXXXXXXXX")" || ptxd_bailout "failed to create tempfile" + local fixscript="${PTXDIST_TEMPDIR}/${FUNCNAME}" && + touch "${fixscript}" && chmod +x "${fixscript}" && # get permission files local -a ptxd_reply_ipkg_file ptxd_reply_perm_files && - ptxd_get_ipkg_files && + ptxd_get_ipkg_files || return set -- "${ptx_nfsroot}" "${ptx_nfsroot_dbg}" @@ -119,18 +122,7 @@ In order to create them root privileges are required. EOF read -t 5 -p "(Please press enter to start 'sudo' to gain root privileges.)" - if [ ${?} -eq 0 ]; then - sudo "${fixscript}" || { - cat <<EOF - -error: creation of device node(s) failed. - -EOF - return 1 - } - echo - rm "${fixscript}" - else + if [ ${?} -ne 0 ]; then cat >&2 <<EOF @@ -139,6 +131,17 @@ WARNING: NFS-root might not be working correctly! EOF + return + fi + + if ! sudo "${fixscript}"; then + cat <<EOF + +error: creation of device node(s) failed. + +EOF + return 1 fi + echo } export -f ptxd_make_image_fix_permissions |