Re: [virt-tools-list] [virt-manager] [PATCH 0/9] Integration of virt-bootstrap

2017-06-28 Thread Giuseppe Scrivano
Cole Robinson  writes:

> /bin/tar: etc/alternatives/cifs-idmap-plugin: Cannot open: Permission denied
> /bin/tar: etc/alternatives/libnssckbi.so.x86_64: Cannot open: Permission 
> denied
> /bin/tar: etc/cifs-utils/idmap-plugin: Cannot open: Permission denied
> /bin/tar: etc/crypto-policies/back-ends/bind.config: Cannot open: Permission
> denied
> /bin/tar: etc/crypto-policies/back-ends/gnutls.config: Cannot open: Permission
> denied
> /bin/tar: etc/crypto-policies/back-ends/gnutls28.config: Cannot open:
> Permission denied
> /bin/tar: etc/crypto-policies/back-ends/java.config: Cannot open: Permission
> denied
> /bin

we had a similar issue with Docker images extracted as non root user,
and we needed to specify[1] "--delay-directory-restore" to tar so that
it doesn't set the permission of directories before all the files are
extracted.  Could that help?

Regards,
Giuseppe

[1] 
https://github.com/containers/image/pull/262/files#diff-952ad9dc01673ce7143c20dd5808adf7R165

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


Re: [virt-tools-list] [PATCH virt-viewer 5/6] remote-viewer: add a --dbus-controller

2017-06-28 Thread Eduardo Lima (Etrunko)
On 23/06/17 12:30, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> Allow to set connection details via DBus, and add a Connect method.
> This is intended to replace the Spice controller.
> 
> Sample usage:
> 
> DEST=`remote-viewer --dbus-controller`
> 
> gdbus call --session --dest $DEST --object-path 
> /org/virt_manager/remote_viewer \
>   --method org.freedesktop.DBus.Properties.Set 
> org.VirtManager.RemoteViewer.Controller \
>   host ''
> gdbus call --session --dest $DEST --object-path 
> /org/virt_manager/remote_viewer \
>   --method org.freedesktop.DBus.Properties.Set 
> org.VirtManager.RemoteViewer.Controller \
>   port ''
> gdbus call --session --dest $DEST --object-path 
> /org/virt_manager/remote_viewer \
>   --method org.freedesktop.DBus.Properties.Set 
> org.VirtManager.RemoteViewer.Controller \
>   type ''()
> gdbus call --session --dest $DEST --object-path 
> /org/virt_manager/remote_viewer \
>   --method org.VirtManager.RemoteViewer.Controller.Connect()
> 

Please consider spliting this patch, as I said on my comment on patch 3
of the series.

> Signed-off-by: Marc-André Lureau 
> ---
>  src/remote-viewer.c | 198 
> +++-
>  src/remote-viewer.h |   1 +
>  2 files changed, 196 insertions(+), 3 deletions(-)
> 
> diff --git a/src/remote-viewer.c b/src/remote-viewer.c
> index fb5376c..f0f9531 100644
> --- a/src/remote-viewer.c
> +++ b/src/remote-viewer.c
> @@ -57,6 +57,7 @@ struct _RemoteViewerPrivate {
>  OvirtForeignMenu *ovirt_foreign_menu;
>  #endif
>  gboolean open_recent_dialog;
> +VirtViewerFile *dbus_file;
>  };
>  
>  G_DEFINE_TYPE (RemoteViewer, remote_viewer, VIRT_VIEWER_TYPE_APP)
> @@ -137,6 +138,7 @@ remote_viewer_deactivated(VirtViewerApp *app, gboolean 
> connect_error)
>  static gchar **opt_args = NULL;
>  static char *opt_title = NULL;
>  static gboolean opt_controller = FALSE;
> +static gboolean opt_dbus_ctrl = FALSE;
>  
>  static void
>  remote_viewer_add_option_entries(VirtViewerApp *self, GOptionContext 
> *context, GOptionGroup *group)
> @@ -144,6 +146,8 @@ remote_viewer_add_option_entries(VirtViewerApp *self, 
> GOptionContext *context, G
>  static const GOptionEntry options[] = {
>  { "title", 't', 0, G_OPTION_ARG_STRING, &opt_title,
>N_("Set window title"), NULL },
> +{ "dbus-controller", '\0', 0, G_OPTION_ARG_NONE, &opt_dbus_ctrl,
> +  N_("Open connection using DBus controller"), NULL },
>  #ifdef HAVE_SPICE_GTK
>  { "spice-controller", '\0', 0, G_OPTION_ARG_NONE, &opt_controller,
>N_("Open connection using Spice controller communication"), NULL },
> @@ -175,7 +179,17 @@ remote_viewer_local_command_line (GApplication   *gapp,
>  if (ret)
>  goto end;
>  
> -if (!opt_args) {
> +if (opt_dbus_ctrl) {
> +if (opt_args || opt_controller) {
> +g_printerr(_("\nError: extra arguments given while using 
> --dbus\n\n"));
> +ret = TRUE;
> +*status = 1;
> +goto end;
> +}
> +self->priv->dbus_file = virt_viewer_file_new(NULL, NULL);
> +virt_viewer_app_set_dbus_ctrl(app, TRUE);
> +return FALSE;
> +} else if (!opt_args) {
>  self->priv->open_recent_dialog = TRUE;
>  } else {
>  if (g_strv_length(opt_args) > 1) {
> @@ -190,7 +204,7 @@ remote_viewer_local_command_line (GApplication   *gapp,
>  
>  #ifdef HAVE_SPICE_GTK
>  if (opt_controller) {
> -if (opt_args) {
> +if (opt_args || opt_dbus_ctrl) {
>  g_printerr(_("\nError: extra arguments given while using Spice 
> controller\n\n"));
>  ret = TRUE;
>  *status = 1;
> @@ -241,6 +255,180 @@ remote_viewer_get_property(GObject *object, guint 
> property_id,
>  }
>  }
>  
> +static void
> +handle_method_call (GDBusConnection   *connection G_GNUC_UNUSED,
> +const gchar   *sender G_GNUC_UNUSED,
> +const gchar   *object_path G_GNUC_UNUSED,
> +const gchar   *interface_name G_GNUC_UNUSED,
> +const gchar   *method_name,
> +GVariant  *parameters G_GNUC_UNUSED,
> +GDBusMethodInvocation *invocation,
> +gpointer   user_data)
> +{
> +RemoteViewer *self = REMOTE_VIEWER(user_data);
> +
> +if (g_str_equal(method_name, "Connect")) {
> +GError *error = NULL;
> +char *type = virt_viewer_file_get_file_type(self->priv->dbus_file);
> +g_debug("Connect! %s", type);
> +if (!remote_viewer_initial_connect(self, type, 
> self->priv->dbus_file, &error)) {
> +g_dbus_method_invocation_return_gerror(invocation, error);
> +g_clear_error(&error);
> +} else {
> +g_dbus_method_invocation_return_value (invocation, NULL);
> +}
> +}
> +}
> +
> +
> +static GVariant

Re: [virt-tools-list] [PATCH virt-viewer 4/6] remote-viewer: factor our remote_viewer_initial_connect()

2017-06-28 Thread Eduardo Lima (Etrunko)
On 23/06/17 12:30, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 

Acked-by: Eduardo Lima (Etrunko) 

> Signed-off-by: Marc-André Lureau 
> ---
>  src/remote-viewer.c | 70 
> -
>  1 file changed, 43 insertions(+), 27 deletions(-)
> 
> diff --git a/src/remote-viewer.c b/src/remote-viewer.c
> index b132214..fb5376c 100644
> --- a/src/remote-viewer.c
> +++ b/src/remote-viewer.c
> @@ -85,6 +85,10 @@ static void spice_foreign_menu_updated(RemoteViewer *self);
>  static void foreign_menu_title_changed(SpiceCtrlForeignMenu *menu, 
> GParamSpec *pspec, RemoteViewer *self);
>  #endif
>  
> +static gboolean
> +remote_viewer_initial_connect(RemoteViewer *self, const gchar *type,
> +  VirtViewerFile *vvfile, GError **error);
> +
>  static void
>  remote_viewer_dispose (GObject *object)
>  {
> @@ -1080,6 +1084,41 @@ remote_viewer_session_connected(VirtViewerSession 
> *session,
>  g_free(uri);
>  }
>  
> +static gboolean
> +remote_viewer_initial_connect(RemoteViewer *self, const gchar *type,
> +  VirtViewerFile *vvfile, GError **error)
> +{
> +VirtViewerApp *app = VIRT_VIEWER_APP(self);
> +
> +if (!virt_viewer_app_create_session(app, type, error))
> +return FALSE;
> +
> +g_signal_connect(virt_viewer_app_get_session(app), "session-connected",
> + G_CALLBACK(remote_viewer_session_connected), app);
> +
> +virt_viewer_session_set_file(virt_viewer_app_get_session(app), vvfile);
> +#ifdef HAVE_OVIRT
> +if (vvfile != NULL) {
> +OvirtForeignMenu *ovirt_menu;
> +ovirt_menu = ovirt_foreign_menu_new_from_file(vvfile);
> +if (ovirt_menu != NULL) {
> +virt_viewer_app_set_ovirt_foreign_menu(app, ovirt_menu);
> +}
> +}
> +#endif
> +
> +if (!virt_viewer_app_initial_connect(app, error)) {
> +if (*error == NULL) {
> +g_set_error_literal(error,
> +VIRT_VIEWER_ERROR, VIRT_VIEWER_ERROR_FAILED,
> +_("Failed to initiate connection"));
> +}
> +return FALSE;
> +}
> +
> +return TRUE;
> +}
> +
>  static gboolean
>  remote_viewer_start(VirtViewerApp *app, GError **err)
>  {
> @@ -1114,8 +1153,9 @@ remote_viewer_start(VirtViewerApp *app, GError **err)
>  spice_ctrl_foreign_menu_listen(priv->ctrl_foreign_menu, NULL, 
> spice_ctrl_listen_async_cb, self);
>  
>  virt_viewer_app_show_status(VIRT_VIEWER_APP(self), _("Setting up 
> Spice session..."));
> -} else {
> +} else
>  #endif
> +{
>  retry_dialog:
>  if (priv->open_recent_dialog) {
>  VirtViewerWindow *main_window = 
> virt_viewer_app_get_main_window(app);
> @@ -1160,35 +1200,11 @@ retry_dialog:
>  } else
>  #endif
>  {
> -if (!virt_viewer_app_create_session(app, type, &error))
> +if (!remote_viewer_initial_connect(self, type, vvfile, &error))
>  goto cleanup;
>  }
> -
> -g_signal_connect(virt_viewer_app_get_session(app), 
> "session-connected",
> - G_CALLBACK(remote_viewer_session_connected), app);
> -
> -virt_viewer_session_set_file(virt_viewer_app_get_session(app), 
> vvfile);
> -#ifdef HAVE_OVIRT
> -if (vvfile != NULL) {
> -OvirtForeignMenu *ovirt_menu;
> -ovirt_menu = ovirt_foreign_menu_new_from_file(vvfile);
> -if (ovirt_menu != NULL) {
> -virt_viewer_app_set_ovirt_foreign_menu(app, ovirt_menu);
> -}
> -}
> -#endif
> -
> -if (!virt_viewer_app_initial_connect(app, &error)) {
> -if (error == NULL) {
> -g_set_error_literal(&error,
> -VIRT_VIEWER_ERROR, 
> VIRT_VIEWER_ERROR_FAILED,
> -_("Failed to initiate connection"));
> -}
> -goto cleanup;
> -}
> -#ifdef HAVE_SPICE_GTK
>  }
> -#endif
> +
>  
>  ret = VIRT_VIEWER_APP_CLASS(remote_viewer_parent_class)->start(app, 
> &error);
>  
> 


-- 
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etru...@redhat.com

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH virt-viewer 3/6] app: add dbus-ctrl property

2017-06-28 Thread Eduardo Lima (Etrunko)
On 23/06/17 12:30, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> If the dbus-ctrl property is set, we should call open_uri() without
> guri set.
> 

My general feeling is that this patch could be merged with the option
parsing on the follow up patch, while that one should split in two, the
first one adding the dbus handlers and the only after that option
parsing/property setting/open_uri() call.

> Signed-off-by: Marc-André Lureau 
> ---
>  src/virt-viewer-app.c | 12 
>  src/virt-viewer-app.h |  1 +
>  2 files changed, 13 insertions(+)
> 
> diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> index 2a2..c770cc0 100644
> --- a/src/virt-viewer-app.c
> +++ b/src/virt-viewer-app.c
> @@ -130,6 +130,7 @@ struct _VirtViewerAppPrivate {
>  gboolean active;
>  gboolean connected;
>  gboolean cancelled;
> +gboolean dbus_ctrl;
>  char *unixsock;
>  char *guri; /* prefered over ghost:gport */
>  char *ghost;
> @@ -1225,6 +1226,9 @@ virt_viewer_app_default_activate(VirtViewerApp *self, 
> GError **error)
>  
>  if (fd >= 0) {
>  return 
> virt_viewer_session_open_fd(VIRT_VIEWER_SESSION(priv->session), fd);
> +} else if (priv->dbus_ctrl) {
> +/* open_uri handles session set with vv file */
> +return 
> virt_viewer_session_open_uri(VIRT_VIEWER_SESSION(priv->session), NULL, error);
>  } else if (priv->guri) {
>  virt_viewer_app_trace(self, "Opening connection to display at %s", 
> priv->guri);
>  return 
> virt_viewer_session_open_uri(VIRT_VIEWER_SESSION(priv->session), priv->guri, 
> error);
> @@ -2036,6 +2040,14 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
>  
> G_PARAM_STATIC_STRINGS));
>  }
>  
> +void
> +virt_viewer_app_set_dbus_ctrl(VirtViewerApp *self, gboolean dbus_ctrl)
> +{
> +g_return_if_fail(VIRT_VIEWER_IS_APP(self));
> +
> +self->priv->dbus_ctrl = dbus_ctrl;
> +}
> +
>  void
>  virt_viewer_app_set_direct(VirtViewerApp *self, gboolean direct)
>  {
> diff --git a/src/virt-viewer-app.h b/src/virt-viewer-app.h
> index 16b1c8c..6f6d9c8 100644
> --- a/src/virt-viewer-app.h
> +++ b/src/virt-viewer-app.h
> @@ -98,6 +98,7 @@ void virt_viewer_app_set_enable_accel(VirtViewerApp *app, 
> gboolean enable);
>  void virt_viewer_app_show_preferences(VirtViewerApp *app, GtkWidget *parent);
>  void virt_viewer_app_set_menus_sensitive(VirtViewerApp *self, gboolean 
> sensitive);
>  gboolean virt_viewer_app_get_session_cancelled(VirtViewerApp *self);
> +void virt_viewer_app_set_dbus_ctrl(VirtViewerApp *self, gboolean dbus_ctrl);
>  
>  G_END_DECLS
>  
> 


-- 
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etru...@redhat.com

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH virt-viewer 2/6] session: remove virt_viewer_session_new() declaration

2017-06-28 Thread Eduardo Lima (Etrunko)
On 23/06/17 12:30, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> The function was removed in commit
> 05333f0e93fb988c2fd9302e67671490941aedb0.

Acked-by: Eduardo Lima (Etrunko) 

> 
> Signed-off-by: Marc-André Lureau 
> ---
>  src/virt-viewer-session.h | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/src/virt-viewer-session.h b/src/virt-viewer-session.h
> index d3a9ccc..8ee4d8a 100644
> --- a/src/virt-viewer-session.h
> +++ b/src/virt-viewer-session.h
> @@ -102,7 +102,6 @@ struct _VirtViewerSessionClass {
>  
>  GType virt_viewer_session_get_type(void);
>  
> -GtkWidget *virt_viewer_session_new(void);
>  const gchar* virt_viewer_session_mime_type(VirtViewerSession *session);
>  
>  void virt_viewer_session_add_display(VirtViewerSession *session,
> 


-- 
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etru...@redhat.com

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH virt-viewer 1/6] file: make constructor accept NULL location

2017-06-28 Thread Eduardo Lima (Etrunko)
On 23/06/17 12:30, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> We are going to make empty/fake VirtViewerFile.
> 
> Signed-off-by: Marc-André Lureau 
> ---
>  src/virt-viewer-file.c | 8 +---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/src/virt-viewer-file.c b/src/virt-viewer-file.c
> index 9ff2a05..dfc6164 100644
> --- a/src/virt-viewer-file.c
> +++ b/src/virt-viewer-file.c
> @@ -141,11 +141,13 @@ enum  {
>  VirtViewerFile*
>  virt_viewer_file_new(const gchar* location, GError** error)
>  {
> -GError* inner_error = NULL;
> +VirtViewerFile* self = 
> VIRT_VIEWER_FILE(g_object_new(VIRT_VIEWER_TYPE_FILE, NULL));
>  
> -g_return_val_if_fail (location != NULL, NULL);
> +if (!location) {
> +return self;
> +}
>  

I would move this test after the declaration of the variables.

> -VirtViewerFile* self = 
> VIRT_VIEWER_FILE(g_object_new(VIRT_VIEWER_TYPE_FILE, NULL));
> +GError* inner_error = NULL;
>  GKeyFile* keyfile = self->priv->keyfile;
>  

+if (!location) {
+return self;
+}

Here.

>  g_key_file_load_from_file(keyfile, location,
> 


-- 
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etru...@redhat.com

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list