diff options
author | Richard Tollerton <rich.tollerton@ni.com> | 2014-01-21 13:46:46 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-12-19 18:08:02 +0000 |
commit | 02e11ceeaa1e56eb01bf0e07cb3514b03862acfa (patch) | |
tree | b148c9f765bd1d4fcec2134ecb14688fffc9a6b4 /meta/recipes-core/udev | |
parent | 408baa9903bbfd16485fcba74430558e518d29ed (diff) | |
download | poky-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/recipes-core/udev')
-rw-r--r-- | meta/recipes-core/udev/udev/udev-cache | 35 |
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 |
43 | fi | 43 | fi |
44 | 44 | ||
45 | if [ "$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 | ( | 47 | if ! [ -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 | ) & | ||
58 | fi | 50 | fi |
51 | [ "${VERBOSE}" == "no" ] || echo "found." | ||
52 | echo "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 | ||
60 | exit 0 | 69 | exit 0 |