summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Tollerton <rich.tollerton@ni.com>2014-01-21 13:46:46 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-12-19 18:08:02 +0000
commit02e11ceeaa1e56eb01bf0e07cb3514b03862acfa (patch)
treeb148c9f765bd1d4fcec2134ecb14688fffc9a6b4 /meta
parent408baa9903bbfd16485fcba74430558e518d29ed (diff)
downloadpoky-02e11ceeaa1e56eb01bf0e07cb3514b03862acfa.tar.gz
udev-cache: refactor conditionals and error handling
Most of /etc/init.d/udev-cache is in a conditional block which can be replaced by a `[ ... ] || exit 0` to reduce nesting. This also provides an opportunity to add some additional messages when VERBOSE is set. Capture and report errors encountered in the cache generation process, using set -e and trap EXIT. These errors were previously being ignored. (From OE-Core rev: a1357f3c78e46cd4297fefab56acf87342967132) Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/udev/udev/udev-cache35
1 files changed, 22 insertions, 13 deletions
diff --git a/meta/recipes-core/udev/udev/udev-cache b/meta/recipes-core/udev/udev/udev-cache
index 3c18061991..895b1971c4 100644
--- a/meta/recipes-core/udev/udev/udev-cache
+++ b/meta/recipes-core/udev/udev/udev-cache
@@ -42,19 +42,28 @@ if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
42 exit 0 42 exit 0
43fi 43fi
44 44
45if [ "$DEVCACHE" != "" -a -e "$DEVCACHE_REGEN" ]; then 45[ "$DEVCACHE" != "" ] || exit 0
46 echo "Populating dev cache" 46[ "${VERBOSE}" == "no" ] || echo -n "udev-cache: checking for ${DEVCACHE_REGEN}... "
47 ( 47if ! [ -e "$DEVCACHE_REGEN" ]; then
48 udevadm control --stop-exec-queue 48 [ "${VERBOSE}" == "no" ] || echo "not found."
49 sysconf_cmd > "$SYSCONF_TMP" 49 exit 0
50 find /dev -xdev \( -type b -o -type c -o -type l \) | cut -c 2- \
51 | xargs tar cf "${DEVCACHE_TMP}" -T-
52 gzip < "${DEVCACHE_TMP}" > "$DEVCACHE"
53 rm -f "${DEVCACHE_TMP}"
54 mv "$SYSCONF_TMP" "$SYSCONF_CACHED"
55 udevadm control --start-exec-queue
56 rm -f "$DEVCACHE_REGEN"
57 ) &
58fi 50fi
51[ "${VERBOSE}" == "no" ] || echo "found."
52echo "Populating dev cache"
53
54(
55 set -e
56 trap 'echo "udev-cache: update failed!"' EXIT
57 udevadm control --stop-exec-queue
58 sysconf_cmd > "$SYSCONF_TMP"
59 find /dev -xdev \( -type b -o -type c -o -type l \) | cut -c 2- \
60 | xargs tar cf "${DEVCACHE_TMP}" -T-
61 gzip < "${DEVCACHE_TMP}" > "$DEVCACHE"
62 rm -f "${DEVCACHE_TMP}"
63 mv "$SYSCONF_TMP" "$SYSCONF_CACHED"
64 udevadm control --start-exec-queue
65 rm -f "$DEVCACHE_REGEN"
66 trap - EXIT
67) &
59 68
60exit 0 69exit 0