summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2010-07-15 15:25:39 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2010-07-16 15:23:00 +0200
commit2724ab1fd87f4367e4735118bdb9eb7ec989b088 (patch)
treed38cdac230ab1dadbe8a2ae9b5fe148925e56455
parentd28e842fedff8e1298b975f4b02c69b5bc5920a1 (diff)
downloadptxdist-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.make10
-rw-r--r--scripts/lib/ptxd_make_image_fix_permissions.sh35
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