summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/daemon/abrt-action-save-package-data.c14
-rw-r--r--src/daemon/abrt-handle-crashdump.c16
-rw-r--r--src/daemon/abrt-server.c15
-rw-r--r--src/daemon/abrtd.c19
-rw-r--r--src/gui-gtk/main.c21
-rw-r--r--src/gui-wizard-gtk/main.c22
-rw-r--r--src/lib/parse_options.c51
-rw-r--r--src/lib/parse_options.h7
-rw-r--r--src/plugins/abrt-action-analyze-backtrace.c14
-rw-r--r--src/plugins/abrt-action-analyze-c.c14
-rw-r--r--src/plugins/abrt-action-analyze-oops.c14
-rw-r--r--src/plugins/abrt-action-analyze-python.c14
-rw-r--r--src/plugins/abrt-action-bugzilla.cpp14
-rw-r--r--src/plugins/abrt-action-generate-backtrace.c14
-rw-r--r--src/plugins/abrt-action-kerneloops.c14
-rw-r--r--src/plugins/abrt-action-mailx.c14
-rw-r--r--src/plugins/abrt-action-print.c14
-rw-r--r--src/plugins/abrt-action-rhtsupport.c14
-rw-r--r--src/plugins/abrt-action-trim-files.c15
-rw-r--r--src/plugins/abrt-action-upload.c14
-rw-r--r--src/plugins/abrt-dump-oops.c18
-rw-r--r--src/plugins/abrt-retrace-client.c5
22 files changed, 128 insertions, 229 deletions
diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c
index 93350994..df8de7b9 100644
--- a/src/daemon/abrt-action-save-package-data.c
+++ b/src/daemon/abrt-action-save-package-data.c
@@ -21,8 +21,6 @@
#include "rpm.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-save-package-data"
-
// TODO: convert g_settings_foo usage to command-line switches
/**
@@ -243,15 +241,13 @@ static int SavePackageDescriptionToDebugDump(const char *dump_dir_name)
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
const char *dump_dir_name = ".";
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -d DIR\n"
+ "\b [-v] -d DIR\n"
"\n"
"Query package database and save package name, component, and description"
);
@@ -267,11 +263,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
VERB1 log("Loading settings");
if (load_abrt_conf() != 0)
diff --git a/src/daemon/abrt-handle-crashdump.c b/src/daemon/abrt-handle-crashdump.c
index 3c3e433f..d04e4fef 100644
--- a/src/daemon/abrt-handle-crashdump.c
+++ b/src/daemon/abrt-handle-crashdump.c
@@ -19,8 +19,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-handle-crashdump"
-
static const char *dump_dir_name = NULL;
//static const char *conf_filename = CONF_DIR"/abrt_event.conf";
static const char *event;
@@ -34,14 +32,12 @@ static char *do_log(char *log_line, void *param)
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-vs]" /*" [-c CONFFILE]"*/ " -d DIR -e EVENT\n"
- " or: "PROGNAME" [-vs]" /*" [-c CONFFILE]"*/ " [-d DIR] -l[PFX]\n"
+ "\b [-vs]" /*" [-c CONFFILE]"*/ " -d DIR -e EVENT\n"
+ " or: \b [-vs]" /*" [-c CONFFILE]"*/ " [-d DIR] -l[PFX]\n"
"\n"
"Handles dump directory DIR according to rules in abrt_event.conf"
);
@@ -69,10 +65,8 @@ int main(int argc, char **argv)
if (!(opts & (OPT_e|OPT_l)))
show_usage_and_die(program_usage_string, program_options);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
- msg_prefix = PROGNAME;
- if (opts & OPT_p)
- putenv((char*)"ABRT_PROG_PREFIX=1");
+ export_abrt_envvars(opts & OPT_p);
+
if (opts & OPT_s)
{
openlog(msg_prefix, 0, LOG_DAEMON);
diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c
index 53bb5fba..49b7e0ce 100644
--- a/src/daemon/abrt-server.c
+++ b/src/daemon/abrt-server.c
@@ -18,8 +18,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-server"
-
/* Maximal length of backtrace. */
#define MAX_BACKTRACE_SIZE (1024*1024)
/* Amount of data received from one client for a message before reporting error. */
@@ -280,13 +278,11 @@ static void dummy_handler(int sig_unused) {}
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [options]"
+ "\b [options]"
);
enum {
OPT_v = 1 << 0,
@@ -304,10 +300,9 @@ int main(int argc, char **argv)
};
unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
- msg_prefix = xasprintf(PROGNAME"[%u]", getpid());
- if (opts & OPT_p)
- putenv((char*)"ABRT_PROG_PREFIX=1");
+ export_abrt_envvars(opts & OPT_p);
+
+ msg_prefix = xasprintf("%s[%u]", g_progname, getpid());
if (opts & OPT_s)
{
openlog(msg_prefix, 0, LOG_DAEMON);
diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c
index ca0e0d2e..7a1ab318 100644
--- a/src/daemon/abrtd.c
+++ b/src/daemon/abrtd.c
@@ -30,8 +30,6 @@
#include "MiddleWare.h"
#include "parse_options.h"
-#define PROGNAME "abrtd"
-
#define VAR_RUN_PIDFILE VAR_RUN"/abrtd.pid"
#define SOCKET_FILE VAR_RUN"/abrt/abrt.socket"
@@ -451,7 +449,7 @@ static void start_syslog_logging()
* Otherwise fprintf(stderr) dumps messages into random fds, etc. */
xdup2(STDIN_FILENO, STDOUT_FILENO);
xdup2(STDIN_FILENO, STDERR_FILENO);
- openlog(PROGNAME, 0, LOG_DAEMON);
+ openlog(g_progname, 0, LOG_DAEMON);
logmode = LOGMODE_SYSLOG;
putenv((char*)"ABRT_SYSLOG=1");
}
@@ -490,6 +488,8 @@ static void sanitize_dump_dir_rights()
int main(int argc, char** argv)
{
+ abrt_init(argv);
+
int parent_pid = getpid();
setlocale(LC_ALL, "");
@@ -502,12 +502,8 @@ int main(int argc, char** argv)
if (getuid() != 0)
error_msg_and_die("ABRT daemon must be run as root");
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
-
const char *program_usage_string = _(
- PROGNAME" [options]"
+ "\b [options]"
);
enum {
OPT_v = 1 << 0,
@@ -527,6 +523,8 @@ int main(int argc, char** argv)
};
unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
+ export_abrt_envvars(opts & OPT_p);
+
/* When dbus daemon starts us, it doesn't set PATH
* (I saw it set only DBUS_STARTER_ADDRESS and DBUS_STARTER_BUS_TYPE).
* In this case, set something sane:
@@ -536,10 +534,7 @@ int main(int argc, char** argv)
putenv((char*)"PATH=/usr/sbin:/usr/bin:/sbin:/bin");
unsetenv("ABRT_SYSLOG");
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
- msg_prefix = PROGNAME; /* for log(), error_msg() and such */
- if (opts & OPT_p)
- putenv((char*)"ABRT_PROG_PREFIX=1");
+ msg_prefix = g_progname; /* for log(), error_msg() and such */
if (opts & OPT_s)
start_syslog_logging();
diff --git a/src/gui-gtk/main.c b/src/gui-gtk/main.c
index ee19ac8c..e9b175aa 100644
--- a/src/gui-gtk/main.c
+++ b/src/gui-gtk/main.c
@@ -25,8 +25,6 @@
# include <locale.h>
#endif
-#define PROGNAME "abrt-gui"
-
static int inotify_fd = -1;
static GIOChannel *channel_inotify;
static int channel_inotify_event_id = -1;
@@ -193,6 +191,8 @@ void scan_dirs_and_add_to_dirlist(void)
int main(int argc, char **argv)
{
+ abrt_init(argv);
+
/* I18n */
setlocale(LC_ALL, "");
#if ENABLE_NLS
@@ -204,16 +204,11 @@ int main(int argc, char **argv)
* desktops which uses the name to find the corresponding .desktop file
* trac#180
*/
- g_set_prgname("abrt");
gtk_init(&argc, &argv);
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
-
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-vp] [DIR]...\n"
+ "\b [-vp] [DIR]...\n"
"\n"
"Shows list of ABRT dump directories in specified DIR(s)\n"
"(default DIRs: "DEBUG_DUMPS_DIR" $HOME/.abrt/spool)"
@@ -230,15 +225,7 @@ int main(int argc, char **argv)
};
unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
- if (opts & OPT_p)
- {
- msg_prefix = PROGNAME;
- putenv((char*)"ABRT_PROG_PREFIX=1");
- }
+ export_abrt_envvars(opts & OPT_p);
GtkWidget *main_window = create_main_window();
diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c
index 2d036085..d1341b4b 100644
--- a/src/gui-wizard-gtk/main.c
+++ b/src/gui-wizard-gtk/main.c
@@ -25,8 +25,6 @@
# include <locale.h>
#endif
-#define PROGNAME "bug-reporting-wizard"
-
char *g_glade_file = NULL;
char *g_dump_dir_name = NULL;
char *g_analyze_events = NULL;
@@ -62,6 +60,8 @@ void reload_problem_data_from_dump_dir(void)
int main(int argc, char **argv)
{
+ abrt_init(argv);
+
/* I18n */
setlocale(LC_ALL, "");
#if ENABLE_NLS
@@ -69,16 +69,11 @@ int main(int argc, char **argv)
textdomain(PACKAGE);
#endif
- g_set_prgname("abrt");
gtk_init(&argc, &argv);
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
-
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-vp] [-g GUI_FILE] DIR\n"
+ "\b [-vp] [-g GUI_FILE] DIR\n"
"\n"
"GUI tool to analyze and report problem saved in specified DIR"
);
@@ -94,20 +89,13 @@ int main(int argc, char **argv)
OPT_BOOL( 'p', NULL, NULL , _("Add program names to log")),
OPT_END()
};
-
unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
-
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
- if (opts & OPT_p)
- {
- msg_prefix = PROGNAME;
- putenv((char*)"ABRT_PROG_PREFIX=1");
- }
-
argv += optind;
if (!argv[0] || argv[1]) /* zero or >1 arguments */
show_usage_and_die(program_usage_string, program_options);
+ export_abrt_envvars(opts & OPT_p);
+
g_dump_dir_name = xstrdup(argv[0]);
/* load /etc/abrt/events/foo.{conf,xml} stuff
diff --git a/src/lib/parse_options.c b/src/lib/parse_options.c
index d9ce8a2f..4e4a3e08 100644
--- a/src/lib/parse_options.c
+++ b/src/lib/parse_options.c
@@ -24,12 +24,55 @@
#define USAGE_OPTS_WIDTH 24
#define USAGE_GAP 2
-void show_usage_and_die(const char *usage, const struct options *opt)
+const char *g_progname;
+
+const char *abrt_init(char **argv)
{
- fprintf(stderr, _("Usage: %s\n"), usage);
+ char *env_verbose = getenv("ABRT_VERBOSE");
+ if (env_verbose)
+ g_verbose = atoi(env_verbose);
+
+ g_progname = strrchr(argv[0], '/');
+ if (g_progname)
+ g_progname++;
+ else
+ g_progname = argv[0];
+
+ char *pfx = getenv("ABRT_PROG_PREFIX");
+ if (pfx && string_to_bool(pfx))
+ msg_prefix = g_progname;
+
+ return g_progname;
+}
- if (opt->type != OPTION_GROUP)
- fputc('\n', stderr);
+void export_abrt_envvars(int pfx)
+{
+ putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
+ if (pfx)
+ {
+ putenv((char*)"ABRT_PROG_PREFIX=1");
+ msg_prefix = g_progname;
+ }
+}
+
+void show_usage_and_die(const char *usage, const struct options *opt)
+{
+ fputs(_("Usage: "), stderr);
+ while (*usage)
+ {
+ int len = strchrnul(usage, '\b') - usage;
+ if (len > 0)
+ {
+ fprintf(stderr, "%.*s", len, usage);
+ usage += len;
+ }
+ if (*usage == '\b')
+ {
+ fputs(g_progname, stderr);
+ usage++;
+ }
+ }
+ fputs("\n\n", stderr);
for (; opt->type != OPTION_END; opt++)
{
diff --git a/src/lib/parse_options.h b/src/lib/parse_options.h
index 8c784b96..285d97a0 100644
--- a/src/lib/parse_options.h
+++ b/src/lib/parse_options.h
@@ -23,6 +23,13 @@
extern "C" {
#endif
+const char *abrt_init(char **argv);
+#define export_abrt_envvars abrt_export_abrt_envvars
+void export_abrt_envvars(int pfx);
+#define g_progname abrt_g_progname
+extern const char *g_progname;
+
+
enum parse_opt_type {
OPTION_BOOL,
OPTION_GROUP,
diff --git a/src/plugins/abrt-action-analyze-backtrace.c b/src/plugins/abrt-action-analyze-backtrace.c
index 0e41b6eb..5d8c77f6 100644
--- a/src/plugins/abrt-action-analyze-backtrace.c
+++ b/src/plugins/abrt-action-analyze-backtrace.c
@@ -21,8 +21,6 @@
#include "../btparser/location.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-analyze-backtrace"
-
static const char *dump_dir_name = ".";
@@ -50,13 +48,11 @@ static void create_hash(char hash_str[SHA1_RESULT_LEN*2 + 1], const char *pInput
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [options] -d DIR\n"
+ "\b [options] -d DIR\n"
"\n"
"Analyzes C/C++ backtrace, generates duplication hash, backtrace rating, and identifies crash function in dump directory DIR"
);
@@ -72,11 +68,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0);
if (!dd)
diff --git a/src/plugins/abrt-action-analyze-c.c b/src/plugins/abrt-action-analyze-c.c
index e3fe71d3..487fb8f7 100644
--- a/src/plugins/abrt-action-analyze-c.c
+++ b/src/plugins/abrt-action-analyze-c.c
@@ -19,8 +19,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-analyze-c"
-
static void create_hash(char hash_str[SHA1_RESULT_LEN*2 + 1], const char *pInput)
{
unsigned char hash_bytes[SHA1_RESULT_LEN];
@@ -155,15 +153,13 @@ static void trim_unstrip_output(char *result, const char *unstrip_n_output)
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
const char *dump_dir_name = ".";
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -d DIR\n"
+ "\b [-v] -d DIR\n"
"\n"
"Calculates and saves UUID of coredump in dump directory DIR"
);
@@ -179,11 +175,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
/* Run unstrip -n and trim its output, leaving only sizes and build ids */
diff --git a/src/plugins/abrt-action-analyze-oops.c b/src/plugins/abrt-action-analyze-oops.c
index 8fca109d..9485d3c8 100644
--- a/src/plugins/abrt-action-analyze-oops.c
+++ b/src/plugins/abrt-action-analyze-oops.c
@@ -19,8 +19,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-analyze-oops"
-
static void hash_oops_str(char hash_str[SHA1_RESULT_LEN*2 + 1], char *oops_buf, const char *oops_ptr)
{
unsigned char old_c;
@@ -137,15 +135,13 @@ static void hash_oops_str(char hash_str[SHA1_RESULT_LEN*2 + 1], char *oops_buf,
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
const char *dump_dir_name = ".";
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-vs] -d DIR\n"
+ "\b [-vs] -d DIR\n"
"\n"
"Calculates and saves UUID and DUPHASH for oops dump directory DIR"
);
@@ -161,11 +157,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0);
if (!dd)
diff --git a/src/plugins/abrt-action-analyze-python.c b/src/plugins/abrt-action-analyze-python.c
index 07f14a32..5a33fb8d 100644
--- a/src/plugins/abrt-action-analyze-python.c
+++ b/src/plugins/abrt-action-analyze-python.c
@@ -19,19 +19,15 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-analyze-python"
-
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
const char *dump_dir_name = ".";
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -d DIR\n"
+ "\b [-v] -d DIR\n"
"\n"
"Calculates and saves UUID and DUPHASH of python crash dumps"
);
@@ -47,11 +43,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0);
if (!dd)
diff --git a/src/plugins/abrt-action-bugzilla.cpp b/src/plugins/abrt-action-bugzilla.cpp
index 995b73c1..e8a605f1 100644
--- a/src/plugins/abrt-action-bugzilla.cpp
+++ b/src/plugins/abrt-action-bugzilla.cpp
@@ -21,8 +21,6 @@
#include "abrt_problem_data.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-bugzilla"
-
#define XML_RPC_SUFFIX "/xmlrpc.cgi"
#define MAX_HOPS 5
@@ -908,9 +906,7 @@ static void report_to_bugzilla(
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
map_string_h *settings = new_map_string();
const char *dump_dir_name = ".";
@@ -918,7 +914,7 @@ int main(int argc, char **argv)
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -c CONFFILE -d DIR\n"
+ "\b [-v] -c CONFFILE -d DIR\n"
"\n"
"Reports problem to Bugzilla"
);
@@ -936,11 +932,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
while (conf_file)
{
diff --git a/src/plugins/abrt-action-generate-backtrace.c b/src/plugins/abrt-action-generate-backtrace.c
index 44ec752c..1d06871a 100644
--- a/src/plugins/abrt-action-generate-backtrace.c
+++ b/src/plugins/abrt-action-generate-backtrace.c
@@ -23,8 +23,6 @@
#include "parse_options.h"
-#define PROGNAME "abrt-action-generate-backtrace"
-
#define DEBUGINFO_CACHE_DIR LOCALSTATEDIR"/cache/abrt-di"
static const char *dump_dir_name = ".";
@@ -232,15 +230,13 @@ static char *get_backtrace(struct dump_dir *dd)
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
char *i_opt = NULL;
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [options] -d DIR\n"
+ "\b [options] -d DIR\n"
"\n"
"Analyzes coredump in dump directory DIR, generates and saves backtrace"
);
@@ -260,11 +256,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
if (i_opt)
{
diff --git a/src/plugins/abrt-action-kerneloops.c b/src/plugins/abrt-action-kerneloops.c
index 7b054a2e..99b2fea9 100644
--- a/src/plugins/abrt-action-kerneloops.c
+++ b/src/plugins/abrt-action-kerneloops.c
@@ -21,8 +21,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-kerneloops"
-
/* helpers */
static size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
{
@@ -129,9 +127,7 @@ static void report_to_kerneloops(
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
map_string_h *settings = new_map_string();
const char *dump_dir_name = ".";
@@ -139,7 +135,7 @@ int main(int argc, char **argv)
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] [-c CONFFILE]... -d DIR\n"
+ "\b [-v] [-c CONFFILE]... -d DIR\n"
"\n"
"Reports kernel oops to kerneloops.org (or similar) site"
);
@@ -157,11 +153,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
while (conf_file)
{
diff --git a/src/plugins/abrt-action-mailx.c b/src/plugins/abrt-action-mailx.c
index d1b35564..21180854 100644
--- a/src/plugins/abrt-action-mailx.c
+++ b/src/plugins/abrt-action-mailx.c
@@ -20,8 +20,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-mailx"
-
static void exec_and_feed_input(const char* text, char **args)
{
int pipein[2];
@@ -131,16 +129,14 @@ static void create_and_send_email(
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
const char *dump_dir_name = ".";
const char *conf_file = NULL;
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -d DIR [-c CONFFILE]\n"
+ "\b [-v] -d DIR [-c CONFFILE]\n"
"\n"
"Sends contents of a dump directory DIR via email"
);
@@ -158,11 +154,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
map_string_h *settings = new_map_string();
if (conf_file)
diff --git a/src/plugins/abrt-action-print.c b/src/plugins/abrt-action-print.c
index aa61563c..d433fa52 100644
--- a/src/plugins/abrt-action-print.c
+++ b/src/plugins/abrt-action-print.c
@@ -21,8 +21,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-print"
-
static const char *dump_dir_name = ".";
static const char *output_file = NULL;
static const char *append = "no";
@@ -30,13 +28,11 @@ static const char *open_mode = "w";
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -d DIR [-o FILE] [-a yes/no] [-r]\n"
+ "\b [-v] -d DIR [-o FILE] [-a yes/no] [-r]\n"
"\n"
"Prints problem information to standard output or FILE"
);
@@ -58,11 +54,7 @@ int main(int argc, char **argv)
};
unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
if (output_file)
{
diff --git a/src/plugins/abrt-action-rhtsupport.c b/src/plugins/abrt-action-rhtsupport.c
index fbdc7f7e..4616be3f 100644
--- a/src/plugins/abrt-action-rhtsupport.c
+++ b/src/plugins/abrt-action-rhtsupport.c
@@ -24,8 +24,6 @@
#include "abrt_rh_support.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-rhtsupport"
-
static void report_to_rhtsupport(
const char *dump_dir_name,
map_string_h *settings)
@@ -266,9 +264,7 @@ static void report_to_rhtsupport(
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
map_string_h *settings = new_map_string();
const char *dump_dir_name = ".";
@@ -276,7 +272,7 @@ int main(int argc, char **argv)
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -c CONFFILE -d DIR\n"
+ "\b [-v] -c CONFFILE -d DIR\n"
"\n"
"Reports a problem to RHTSupport"
);
@@ -294,11 +290,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
while (conf_file)
{
diff --git a/src/plugins/abrt-action-trim-files.c b/src/plugins/abrt-action-trim-files.c
index dd7366ed..9f15038c 100644
--- a/src/plugins/abrt-action-trim-files.c
+++ b/src/plugins/abrt-action-trim-files.c
@@ -19,8 +19,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-trim-files"
-
static double get_dir_size(const char *dirname,
char **worst_file,
double *worst_file_size)
@@ -141,9 +139,7 @@ static void delete_files(gpointer data, gpointer user_data_unused)
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
GList *dir_list = NULL;
GList *file_list = NULL;
@@ -151,7 +147,7 @@ int main(int argc, char **argv)
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] [-d SIZE:DIR]... [-f SIZE:DIR]... [-p DIR]\n"
+ "\b [-v] [-d SIZE:DIR]... [-f SIZE:DIR]... [-p DIR]\n"
"\n"
"Deletes dump dirs (-d) or files (-f) in DIRs until they are smaller than SIZE"
);
@@ -169,17 +165,12 @@ int main(int argc, char **argv)
OPT_STRING('p', NULL, &preserve , "DIR" , _("Preserve this dump dir")),
OPT_END()
};
-
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
argv += optind;
if (argv[0] || !(dir_list || file_list))
show_usage_and_die(program_usage_string, program_options);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
g_list_foreach(dir_list, delete_dirs, preserve);
g_list_foreach(file_list, delete_files, NULL);
diff --git a/src/plugins/abrt-action-upload.c b/src/plugins/abrt-action-upload.c
index 79347a18..06ae8b20 100644
--- a/src/plugins/abrt-action-upload.c
+++ b/src/plugins/abrt-action-upload.c
@@ -22,8 +22,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-action-upload"
-
//TODO: use this for better logging
#if 0
/* "read local data from a file" callback */
@@ -232,9 +230,7 @@ static int create_and_upload_archive(
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
const char *dump_dir_name = ".";
const char *conf_file = NULL;
@@ -242,7 +238,7 @@ int main(int argc, char **argv)
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-v] -d DIR [-c CONFFILE] [-u URL]\n"
+ "\b [-v] -d DIR [-c CONFFILE] [-u URL]\n"
"\n"
"Uploads compressed tarball of dump directory DIR"
);
@@ -262,11 +258,7 @@ int main(int argc, char **argv)
};
/*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
-
- char *pfx = getenv("ABRT_PROG_PREFIX");
- if (pfx && string_to_bool(pfx))
- msg_prefix = PROGNAME;
+ export_abrt_envvars(0);
map_string_h *settings = new_map_string();
if (url)
diff --git a/src/plugins/abrt-dump-oops.c b/src/plugins/abrt-dump-oops.c
index f716c3db..c2879caa 100644
--- a/src/plugins/abrt-dump-oops.c
+++ b/src/plugins/abrt-dump-oops.c
@@ -23,8 +23,6 @@
#include "abrtlib.h"
#include "parse_options.h"
-#define PROGNAME "abrt-dump-oops"
-
static bool world_readable_dump = false;
static const char *debug_dumps_dir = ".";
@@ -560,13 +558,11 @@ static unsigned save_oops_to_dump_dir(GList *oops_list, unsigned oops_cnt)
int main(int argc, char **argv)
{
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
+ abrt_init(argv);
/* Can't keep these strings/structs static: _() doesn't support that */
const char *program_usage_string = _(
- PROGNAME" [-vsrowx] [-d DIR] FILE\n"
+ "\b [-vsrowx] [-d DIR] FILE\n"
"\n"
"Extract oops from syslog/dmesg file"
);
@@ -595,11 +591,11 @@ int main(int argc, char **argv)
};
unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
- putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose));
- msg_prefix = PROGNAME;
- if ((opts & OPT_s)
- || getenv("ABRT_SYSLOG")
- ) {
+ export_abrt_envvars(0);
+
+ msg_prefix = g_progname;
+ if ((opts & OPT_s) || getenv("ABRT_SYSLOG"))
+ {
openlog(msg_prefix, 0, LOG_DAEMON);
logmode = LOGMODE_SYSLOG;
}
diff --git a/src/plugins/abrt-retrace-client.c b/src/plugins/abrt-retrace-client.c
index 7587943d..003c0d73 100644
--- a/src/plugins/abrt-retrace-client.c
+++ b/src/plugins/abrt-retrace-client.c
@@ -866,6 +866,8 @@ static int run_batch(bool delete_temp_archive)
int main(int argc, char **argv)
{
+ abrt_init(argv);
+
const char *task_id = NULL;
const char *task_password = NULL;
@@ -913,9 +915,6 @@ int main(int argc, char **argv)
const char usage[] = "abrt-retrace-client <operation> [options]\n"
"Operations: create/status/backtrace/log/batch";
- char *env_verbose = getenv("ABRT_VERBOSE");
- if (env_verbose)
- g_verbose = atoi(env_verbose);
char *env_url = getenv("RETRACE_SERVER_URL");
if (env_url)
url = env_url;