[CRIU] [1/2] compel plugins: add optional plugins
Andrei Vagin
avagin at virtuozzo.com
Fri May 5 23:24:08 PDT 2017
Applied, thanks
On Thu, Apr 20, 2017 at 01:03:44AM -0500, Kir Kolyshkin wrote:
> As we have more than 1 working plugin right now, let's implement
> the TODO item for "compel plugins" command.
>
> Signed-off-by: Kir Kolyshkin <kir at openvz.org>
> ---
> compel/src/main.c | 35 +++++++++++++++++++++--------------
> 1 file changed, 21 insertions(+), 14 deletions(-)
>
> diff --git a/compel/src/main.c b/compel/src/main.c
> index 4584ef9..4f53e7e 100644
> --- a/compel/src/main.c
> +++ b/compel/src/main.c
> @@ -125,7 +125,8 @@ static int usage(int rc) {
>
> fprintf(out,
> "Usage:\n"
> -" compel [--compat] includes | cflags | ldflags | plugins\n"
> +" compel [--compat] includes | cflags | ldflags\n"
> +" compel plugins [PLUGIN_NAME ...]\n"
> " compel [--compat] [--static] libs\n"
> " compel -f FILE -o FILE [-p NAME] [-l N] hgen\n"
> " -f, --file FILE input (parasite object) file name\n"
> @@ -188,18 +189,27 @@ static void print_ldflags(bool compat)
> }
> }
>
> -static void print_plugins(const char *list[])
> +static void print_plugin(const char *name)
> {
> const char suffix[] = ".lib.a";
>
> - while (*list != NULL) {
> - if (uninst_root)
> - printf("%s/plugins/%s%s\n",
> - uninst_root, *list, suffix);
> - else
> - printf("%s/compel/%s%s\n", LIBEXECDIR, *list, suffix);
> - list++;
> - }
> + if (uninst_root)
> + printf("%s/plugins/%s%s\n",
> + uninst_root, name, suffix);
> + else
> + printf("%s/compel/%s%s\n", LIBEXECDIR, name, suffix);
> +}
> +
> +static void print_plugins(char *const list[])
> +{
> + char *builtin_list[] = { "std", NULL };
> + char **p = builtin_list;
> +
> + while (*p != NULL)
> + print_plugin(*p++);
> +
> + while (*list != NULL)
> + print_plugin(*list++);
> }
>
> static int print_libs(bool is_static)
> @@ -294,7 +304,6 @@ int main(int argc, char *argv[])
> bool is_static = false;
> int opt, idx;
> char *action;
> - const char *plugins_list[] = { "std", NULL };
>
> static const char short_opts[] = "csf:o:p:hVl:";
> static struct option long_opts[] = {
> @@ -372,9 +381,7 @@ int main(int argc, char *argv[])
> }
>
> if (!strcmp(action, "plugins")) {
> - /* TODO: add option to specify additional plugins
> - * if/when we'll have any */
> - print_plugins(plugins_list);
> + print_plugins(argv + optind);
> return 0;
> }
>
More information about the CRIU
mailing list