Skip to contentSkip to conversation

Propagate errors from find in scripts/gen_initramfs_list.sh

PATCH In review Michael Ellerman 2 participants 2 messages Apr 30, 2007 – May 1, 2007 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Propagate errors from find in scripts/gen_initramfs_list.sh

If the find(1) in scripts/gen_initramfs_list.sh generates any errors, it will cause gen_initramfs_list.sh to fail (because of "set -e"), however the errors from find are not printed to the user. This is rather confusing:

~/src/powerpc$ make O=~/build/powerpc-cell32/
make[2]: *** [usr/initramfs_data.cpio.gz] Error 1
make[1]: *** [usr] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** wait: No child processes. Stop.
make: *** [_all] Error 2

It is much easier to work out what the problem is if we let the errors from find hit the console, eg:

~/src/powerpc$ make O=~/build/powerpc-cell32/
find: /home/michael/initramfs-source/home: Permission denied
find: /home/michael/initramfs-source/lost+found: Permission denied
find: /home/michael/initramfs-source/opt: Permission denied
find: /home/michael/initramfs-source/root: Permission denied make[2]: *** [usr/initramfs_data.cpio.gz] Error 1 make[1]: *** [usr] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** wait: No child processes. Stop.
make: *** [_all] Error 2

---

 scripts/gen_initramfs_list.sh |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/gen_initramfs_list.sh +1 -1
Index: powerpc/scripts/gen_initramfs_list.sh
===================================================================
@@ -171,7 +171,7 @@ dir_filelist() {
 	${dep_list}header "$1"
 
 	srcdir=$(echo "$1" | sed -e 's://*:/:g')
-	dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" 2>/dev/null)
+	dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n")
 
 	# If $dirlist is only one line, then the directory is empty
 	if [  "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then
#1 lore raw
Quoted 3 lines · Michael Ellerman

If the find(1) in scripts/gen_initramfs_list.sh generates any errors, it will cause gen_initramfs_list.sh to fail (because of "set -e"), however the errors from find are not printed to the user. This is rather confusing:

Agree - patch applied.

Sam