summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/crash-manager/crash-manager.c2
-rw-r--r--src/dump_systemstate/dump_systemstate.c16
2 files changed, 11 insertions, 7 deletions
diff --git a/src/crash-manager/crash-manager.c b/src/crash-manager/crash-manager.c
index 8bf424a..bd402a1 100644
--- a/src/crash-manager/crash-manager.c
+++ b/src/crash-manager/crash-manager.c
@@ -444,7 +444,7 @@ static void launch_crash_popup(struct crash_info *cinfo)
static bool dump_system_state(const struct crash_info *cinfo, pid_t *pid)
{
- char *av[] = {DUMP_SYSTEMSTATE_BIN_PATH, "-d", "-k", "-j", "-p", "-e", "-f", cinfo->log_path, NULL};
+ char *av[] = {DUMP_SYSTEMSTATE_BIN_PATH, "-d", "-k", "-j", "-p", "-e", "-f", cinfo->log_path, "-b", NULL};
spawn_param_s param = { .fn = spawn_setstdout, .u.int_val = STDERR_FILENO };
return spawn(av, NULL, &param, pid, NULL);
}
diff --git a/src/dump_systemstate/dump_systemstate.c b/src/dump_systemstate/dump_systemstate.c
index f971350..9a0c3ef 100644
--- a/src/dump_systemstate/dump_systemstate.c
+++ b/src/dump_systemstate/dump_systemstate.c
@@ -59,7 +59,8 @@ static struct dump_item {
static void usage()
{
- fprintf(stderr, "usage: dump_systemstate [-k] [-d] [-j] [-p] [-e] [-f file]\n"
+ fprintf(stderr, "usage: dump_systemstate [-b] [-k] [-d] [-j] [-p] [-e] [-f file]\n"
+ " -b: dump Buxton data\n"
" -f: write to file (instead of stdout)\n"
" -k: dump kernel messages (only root)\n"
" -d: dump dlog messages\n"
@@ -89,9 +90,10 @@ static int get_disk_used_percent(const char *path)
int main(int argc, char *argv[])
{
- int c, ret, i, is_root, dpercent, exit_code = 0;
+ int c, ret, i, dpercent, exit_code = 0;
const char *arg_file = NULL;
int out_fd = -1;
+ bool arg_buxton = false;
bool arg_dlog = false;
bool arg_dmesg = false;
bool arg_extras = false;
@@ -102,8 +104,11 @@ int main(int argc, char *argv[])
struct tm gm_tm;
struct tm loc_tm;
- while ((c = getopt(argc, argv, "hf:kdjep")) != -1) {
+ while ((c = getopt(argc, argv, "hf:kdbjep")) != -1) {
switch (c) {
+ case 'b':
+ arg_buxton = true;
+ break;
case 'd':
arg_dlog = true;
break;
@@ -134,7 +139,6 @@ int main(int argc, char *argv[])
cur_time = time(NULL);
gmtime_r(&cur_time, &gm_tm);
localtime_r(&cur_time, &loc_tm);
- is_root = !(geteuid());
/* open output file */
if (arg_file == NULL) {
@@ -204,7 +208,7 @@ int main(int argc, char *argv[])
char *memps_args[] = {"/bin/memps", "-v", NULL};
spawn_wait_checked(memps_args, NULL);
- if (is_root) {
+ if (arg_buxton) {
fprintf_fd(out_fd, "\n==== System configuration (/usr/bin/buxton2ctl dump memory, system)\n");
char *get_mem_args[] = {"/bin/buxton2ctl", "dump", "memory", NULL};
spawn_wait_checked(get_mem_args, NULL);
@@ -219,7 +223,7 @@ int main(int argc, char *argv[])
spawn_wait_checked(pkgcmd_args, NULL);
}
- if (arg_dmesg && is_root) {
+ if (arg_dmesg) {
fprintf_fd(out_fd, "\n==== Kernel messages (TZ=UTC /bin/dmesg -T)\n");
char *dmesg_args[] = {"/bin/dmesg", "-T", NULL};
char *dmesg_env[] = {"TZ=UTC", NULL};