Propagate errors from find in scripts/gen_initramfs_list.sh
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
@@ -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
Quoted 3 lines · Michael Ellerman
If the find(1) in
scripts/gen_initramfs_list.shgenerates any errors, it will causegen_initramfs_list.shto fail (because of "set -e"), however the errors from find are not printed to the user. This is rather confusing:
Agree - patch applied.
Sam