commit: eeb816f6dcf9a634303e3f1bd1e43d472a3fcff6 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Tue May 19 16:56:10 2015 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Tue May 19 16:56:10 2015 +0000 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=eeb816f6
qlop: support $EMERGE_LOG_DIR Portage stores its emerge.log in the $EMERGE_LOG_DIR dir, so try loading that setting instead of hardcoding /var/log ourselves. URL: https://bugs.gentoo.org/513592 Reported-by: Kerin Millar <kerframil <AT> fastmail.co.uk> main.c | 2 ++ qlop.c | 18 ++++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/main.c b/main.c index d127621..29a889f 100644 --- a/main.c +++ b/main.c @@ -32,6 +32,7 @@ int portcachedir_type = 0; char pretend = 0; char reinitialize = 0; char reinitialize_metacache = 0; +static char *portlogdir; static char *portdir; static char *portarch; static char *portvdb; @@ -694,6 +695,7 @@ void initialize_portage_env(void) _Q_EVB(BOOL, NOCOLOR, nocolor, 0) _Q_EVS(ISTR, FEATURES, features, "noman noinfo nodoc") _Q_EVS(STR, EPREFIX, eprefix, CONFIG_EPREFIX) + _Q_EVS(STR, EMERGE_LOG_DIR, portlogdir, CONFIG_EPREFIX "var/log") _Q_EVS(STR, PORTDIR, portdir, CONFIG_EPREFIX "usr/portage") _Q_EVS(STR, PORTAGE_BINHOST, binhost, DEFAULT_PORTAGE_BINHOST) _Q_EVS(STR, PORTAGE_TMPDIR, port_tmpdir, CONFIG_EPREFIX "var/tmp/portage/") diff --git a/qlop.c b/qlop.c index 93dbcc8..390865a 100644 --- a/qlop.c +++ b/qlop.c @@ -26,7 +26,7 @@ # include <sys/sysctl.h> #endif -#define QLOP_DEFAULT_LOGFILE CONFIG_EPREFIX "var/log/emerge.log" +#define QLOP_DEFAULT_LOGFILE "emerge.log" #define QLOP_FLAGS "gtHluscf:" COMMON_FLAGS static struct option const qlop_long_opts[] = { @@ -48,7 +48,7 @@ static const char * const qlop_opts_help[] = { "Show unmerge history", "Show sync history", "Show current emerging packages", - "Read emerge logfile instead of " QLOP_DEFAULT_LOGFILE, + "Read emerge logfile instead of $EMERGE_LOG_DIR/" QLOP_DEFAULT_LOGFILE, COMMON_OPTS_HELP }; #define qlop_usage(ret) usage(ret, QLOP_FLAGS, qlop_long_opts, qlop_opts_help, lookup_applet_idx("qlop")) @@ -646,13 +646,11 @@ int qlop_main(int argc, char **argv) { int i, average = 1; char do_time, do_list, do_unlist, do_sync, do_current, do_human_readable = 0; - char *opt_logfile; - const char *logfile = QLOP_DEFAULT_LOGFILE; + char *logfile = NULL; DBG("argc=%d argv[0]=%s argv[1]=%s", argc, argv[0], argc > 1 ? argv[1] : "NULL?"); - opt_logfile = NULL; do_time = do_list = do_unlist = do_sync = do_current = 0; while ((i = GETOPT_LONG(QLOP, qlop, "")) != -1) { @@ -667,15 +665,15 @@ int qlop_main(int argc, char **argv) case 'g': do_time = 1; average = 0; break; case 'H': do_human_readable = 1; break; case 'f': - if (opt_logfile) err("Only use -f once"); - opt_logfile = xstrdup(optarg); + if (logfile) err("Only use -f once"); + logfile = xstrdup(optarg); break; } } if (!do_list && !do_unlist && !do_time && !do_sync && !do_current) qlop_usage(EXIT_FAILURE); - if (opt_logfile != NULL) - logfile = opt_logfile; + if (logfile == NULL) + xasprintf(&logfile, "%s/%s", portlogdir, QLOP_DEFAULT_LOGFILE); argc -= optind; argv += optind; @@ -696,7 +694,7 @@ int qlop_main(int argc, char **argv) show_merge_times(argv[i], logfile, average, do_human_readable); } - if (opt_logfile) free(opt_logfile); + free(logfile); return EXIT_SUCCESS; }
