Fix error when colleting logs.
- Fix the following 3 errors:
- sudo: unable to execute /bin/cp: Argument list too long
- sudo: /opt/google/input/cmt_feedback: command not found
- ls: cannot access /opt/oem/: No such file or directory
- setting TMPDIR will override the default /tmp for file output directory
BUG=chrome-os-partner:49851
TEST=Ran on terra13
o
Change-Id: I2f6ae130a78bc41e753a8ba5cbcd2b4b80500530
Reviewed-on: https://chromium-review.googlesource.com/324147
Commit-Ready: danny chan <dchan@chromium.org>
Tested-by: danny chan <dchan@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
diff --git a/generate_logs b/generate_logs
index 542b240..9fd1c4c 100755
--- a/generate_logs
+++ b/generate_logs
@@ -24,7 +24,7 @@
home_dir=/home/chronos
log_dir=/tmp/diagnostic_logs
-tar_path=/tmp
+tar_path=${TMPDIR:-/tmp}
mkdir -p ${log_dir}
sudo rm -rf ${log_dir}/*
@@ -84,12 +84,14 @@
echo "Dumped audio diagnostics"
# Get trackpad user feedback
+[[ -x /opt/google/input/cmt_feedback ]] &&
sudo /opt/google/input/cmt_feedback > \
${log_dir}/trackpad_feedback.dat &&
echo "Dumped touchpad feedback"
-ts_exists="/opt/google/input/inputcontrol --names -t touchscreen"
-if [[ -n $(${ts_exists}) ]]; then
+inputcontrol="/opt/google/input/inputcontrol"
+ts_exists="${inputcontrol} --names -t touchscreen"
+if [[ -x $inputcontrol && -n $(${ts_exists}) ]]; then
# Get touchscreen user feedback
sudo /opt/google/input/evdev_feedback > \
${log_dir}/touchscreen_feedback.dat &&
@@ -114,6 +116,7 @@
echo "Copied list of entire stateful contents"
# List what is in the OEM folder
+[[ -d /opt/oem ]] &&
sudo ls -alR /opt/oem/ > ${log_dir}/oem.txt &&
echo "Copied list of oem folder contents"
@@ -124,8 +127,8 @@
mkdir -p ${log_dir}/system_level_logs ${log_dir}/crashdumps
# Copying all logs under /var/log/.
-sudo cp -r /var/log/* ${log_dir}/system_level_logs &&
- echo "Copied all system level logs from /var/log/"
+sudo cp -r /var/log ${log_dir}/system_level_logs &&
+ echo "Copied all system level logs from /var/log"
user_home_dirs=($(mount | grep -o "/home/user/[[:alnum:]]\{,\}" \
| sed 's:/home/user/::'))