[PATCH 1/1] config: add command line option for config file

Damian, Alexandru alexandru.damian at intel.com
Fri Sep 27 01:09:13 PDT 2013


You're right, I didn't check other usages.

Please dump this patch, it brings in way more problems than it fixes - I
don't think that looking up in tons of directories a random user-specified
file name is very safe.

I'll resubmit only the relevant bits to prevent crashing if no config file.

Alex


On Thu, Sep 26, 2013 at 9:00 PM, Eoff, Ullysses A <ullysses.a.eoff at intel.com
> wrote:

> This patch only instructs the main compositor process to use the
> command-line specified
> configuration file.  What about the other things that depend on settings
> from the configuration
> file: window.c, tablet-shell.c, desktop-shell.c, and terminal.c? Those all
> load "weston.ini" using
> the default path resolution and therefore won't be loading the settings
> from the command-line
> specified configuration file.
>
> Also, I think the default resolution for weston.ini is in
> ${XDG_CONFIG_HOME}/,
> ${HOME}/.config/, ${XDG_CONFIG_DIRS}/, and finally ${PWD}/.  The help
> message in this patch
> says it defaults to ${PWD}/ which is deceiving.
>
> -- U. Artie
>
> > -----Original Message-----
> > From: wayland-devel-bounces+ullysses.a.eoff=
> intel.com at lists.freedesktop.org [mailto:wayland-devel-
> > bounces+ullysses.a.eoff=intel.com at lists.freedesktop.org] On Behalf Of
> Alex DAMIAN
> > Sent: Thursday, September 26, 2013 2:27 AM
> > To: wayland-devel at lists.freedesktop.org
> > Cc: Damian, Alexandru
> > Subject: [PATCH 1/1] config: add command line option for config file
> >
> > From: Alexandru DAMIAN <alexandru.damian at intel.com>
> >
> > Added an option to specify the weston.ini config file
> > to be used. Defaults to ${PWD}/weston.ini
> >
> > Adding a check in weston_config_full_path so that
> > we don't crash if we started without a config file.
> >
> > Fixing a typo in help message.
> >
> > Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
> > ---
> >  shared/config-parser.c |  2 +-
> >  src/compositor.c       | 15 +++++++++++----
> >  2 files changed, 12 insertions(+), 5 deletions(-)
> >
> > diff --git a/shared/config-parser.c b/shared/config-parser.c
> > index e1bf212..8defbbb 100644
> > --- a/shared/config-parser.c
> > +++ b/shared/config-parser.c
> > @@ -385,7 +385,7 @@ weston_config_parse(const char *name)
> >  const char *
> >  weston_config_get_full_path(struct weston_config *config)
> >  {
> > -     return config->path;
> > +     return config == NULL ? NULL : config->path;
> >  }
> >
> >  int
> > diff --git a/src/compositor.c b/src/compositor.c
> > index f619f82..c073410 100644
> > --- a/src/compositor.c
> > +++ b/src/compositor.c
> > @@ -3338,7 +3338,8 @@ usage(int error_code)
> >               "  -S, --socket=NAME\tName of socket to listen on\n"
> >               "  -i, --idle-time=SECS\tIdle time in seconds\n"
> >               "  --modules\t\tLoad the comma-separated list of modules\n"
> > -             "  --log==FILE\t\tLog to the given file\n"
> > +             "  --log=FILE\t\tLog to the given file\n"
> > +             "  --config=FILE\t\tUse specified config file. Defaults to
> ./weston.ini\n"
> >               "  -h, --help\t\tThis help message\n\n");
> >
> >       fprintf(stderr,
> > @@ -3429,6 +3430,7 @@ int main(int argc, char *argv[])
> >       int32_t help = 0;
> >       char *socket_name = "wayland-0";
> >       int32_t version = 0;
> > +     char *config_file = "weston.ini";
> >       struct weston_config *config;
> >       struct weston_config_section *section;
> >
> > @@ -3441,6 +3443,7 @@ int main(int argc, char *argv[])
> >               { WESTON_OPTION_STRING, "log", 0, &log },
> >               { WESTON_OPTION_BOOLEAN, "help", 'h', &help },
> >               { WESTON_OPTION_BOOLEAN, "version", 0, &version },
> > +             { WESTON_OPTION_STRING, "config", 'c', &config_file },
> >       };
> >
> >       parse_options(core_options, ARRAY_LENGTH(core_options), &argc,
> argv);
> > @@ -3488,9 +3491,13 @@ int main(int argc, char *argv[])
> >                       backend = WESTON_NATIVE_BACKEND;
> >       }
> >
> > -     config = weston_config_parse("weston.ini");
> > -     weston_log("Using config file '%s'\n",
> > -                weston_config_get_full_path(config));
> > +     config = weston_config_parse(config_file);
> > +
> > +     if (config != NULL) {
> > +             weston_log("Using config file '%s'\n",
> weston_config_get_full_path(config));
> > +     } else {
> > +             weston_log("Starting with no config file.");
> > +     }
> >       section = weston_config_get_section(config, "core", NULL, NULL);
> >       weston_config_section_get_string(section, "modules", &modules, "");
> >
> > --
> > 1.8.1.2
> >
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>



-- 
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130927/6167982b/attachment.html>


More information about the wayland-devel mailing list