Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve gtk/gnome integration by exporting data with libcloudproviders #7209

Closed
ckamm opened this issue May 27, 2019 · 6 comments

Comments

@ckamm
Copy link
Member

commented May 27, 2019

This issue is about using libcloudproviders to export the ownCloud client's sync folders, thereby allowing users of gnome to see their sync folders in the file browser and to access client settings from there.

Background: For some time applications have been heavily discouraged from using tray icons in gnome. Users having to work around the deprecation has been a constant source of issues. The supported way of providing the functionality is supposed to be using the cloudproviders api (https://csoriano.gitlab.io/libcloudprovidersweb/).

Note that this enhancement does not immediately solve the problem yet as some common distributions (like ubuntu 18.04) do not enable libcloudproviders support in their gtk builds.

@ckamm ckamm added this to the 2.7.0 milestone May 27, 2019

@ckamm ckamm self-assigned this May 27, 2019

ckamm added a commit that referenced this issue May 27, 2019
Minimal libcloudproviders support #7209
- Add it as an optional dependency for linux builds,
  controlled by WITH_LIBCLOUDPROVIDERS, which is enabled automatically
  if the dependencies are available.

- Add code to export sync folders through the library and to add a
  minimal "Settings..." menu action.

- Set up cloud provider registration by installing a file into a
  path like /usr/share/cloud-providers/.

- DBus name and path are derived from APPLICATION_REV_DOMAIN by default
  and may be overridden with APPLICATION_CLOUDPROVIDERS_DBUS_NAME and
  APPLICATION_CLOUDPROVIDERS_DBUS_PATH if necessary.
ckamm added a commit that referenced this issue May 28, 2019
Minimal libcloudproviders support #7209
- Add it as an optional dependency for linux builds,
  controlled by WITH_LIBCLOUDPROVIDERS, which is enabled automatically
  if the dependencies are available. Note that >=0.3.0 is required.

- Add code to export sync folders through the library and to add a
  minimal "Settings..." menu action.

- Set up cloud provider registration by installing a file into a
  path like /usr/share/cloud-providers/.

- DBus name and path are derived from APPLICATION_REV_DOMAIN by default
  and may be overridden with APPLICATION_CLOUDPROVIDERS_DBUS_NAME and
  APPLICATION_CLOUDPROVIDERS_DBUS_PATH if necessary.
ckamm added a commit that referenced this issue Jun 5, 2019
Minimal libcloudproviders support #7209
- Add it as an optional dependency for linux builds,
  controlled by WITH_LIBCLOUDPROVIDERS, which is enabled automatically
  if the dependencies are available. Note that >=0.3.0 is required.

- Add code to export sync folders through the library and to add a
  minimal "Settings..." menu action.

- Set up cloud provider registration by installing a file into a
  path like /usr/share/cloud-providers/.

- DBus name and path are derived from APPLICATION_REV_DOMAIN by default
  and may be overridden with APPLICATION_CLOUDPROVIDERS_DBUS_NAME and
  APPLICATION_CLOUDPROVIDERS_DBUS_PATH if necessary.
ckamm added a commit that referenced this issue Jun 5, 2019
Minimal libcloudproviders support #7209
- Add it as an optional dependency for linux builds,
  controlled by WITH_LIBCLOUDPROVIDERS, which is enabled automatically
  if the dependencies are available. Note that >=0.3.0 is required.

- Add code to export sync folders through the library and to add a
  minimal "Settings..." menu action.

- Set up cloud provider registration by installing a file into a
  path like /usr/share/cloud-providers/.

- DBus name and path are derived from APPLICATION_REV_DOMAIN by default
  and may be overridden with APPLICATION_CLOUDPROVIDERS_DBUS_NAME and
  APPLICATION_CLOUDPROVIDERS_DBUS_PATH if necessary.

@ckamm ckamm modified the milestones: 2.7.0, 2.6.0 Jun 5, 2019

@ckamm ckamm added the PR available label Jun 5, 2019

@ckamm ckamm changed the title Export sync provider and accounts via the cloudproviders api Improve gtk/gnome integration by exporting data with libcloudproviders Jun 5, 2019

@ckamm ckamm modified the milestones: 2.6.0, 2.6.1 Jun 5, 2019

@ckamm

This comment has been minimized.

Copy link
Member Author

commented Jun 5, 2019

@jnweiger I propose that we aim to enable it for linux distos where the right dependencies are available from 2.6.1 onwards. It needs libcloudproviders>=0.3.0 and gio-2.0.

Warning: #7210 (comment)

ckamm added a commit that referenced this issue Jun 7, 2019
Minimal libcloudproviders support #7209
- Add it as an optional dependency for linux builds,
  controlled by WITH_LIBCLOUDPROVIDERS, which is enabled automatically
  if the dependencies are available. Note that >=0.3.0 is required.

- Add code to export sync folders through the library and to add a
  minimal "Settings..." menu action.

- Set up cloud provider registration by installing a file into a
  path like /usr/share/cloud-providers/.

- DBus name and path are derived from APPLICATION_REV_DOMAIN by default
  and may be overridden with APPLICATION_CLOUDPROVIDERS_DBUS_NAME and
  APPLICATION_CLOUDPROVIDERS_DBUS_PATH if necessary.

@ckamm ckamm removed the PR available label Jun 7, 2019

@ckamm ckamm removed their assignment Jun 7, 2019

@ckamm ckamm added the packaging label Jun 7, 2019

@ckamm ckamm modified the milestones: 2.6.1, 2.6.0 Jul 18, 2019

@ckamm ckamm assigned ckamm and unassigned jnweiger Jul 18, 2019

@ckamm ckamm added the ReadyToTest label Jul 18, 2019

@ckamm ckamm removed the ReadyToTest label Jul 18, 2019

@ckamm ckamm removed this from the 2.6.0 milestone Jul 18, 2019

@ckamm ckamm added this to the 2.6.1 milestone Jul 18, 2019

@ckamm

This comment has been minimized.

Copy link
Member Author

commented Jul 18, 2019

This issue now is about building packages with libcloudproviders and adding the dependency. Was confused there for a bit because I thought it was done.

@ckamm ckamm removed their assignment Jul 18, 2019

@ckamm ckamm added the p3-medium label Jul 18, 2019

@jnweiger

This comment has been minimized.

Copy link
Contributor

commented Jul 23, 2019

Looking into this now.
Should be possible starting with Ubuntu 19.04
Will add ReadyToTest as soon as there are daily build that compile with libcloudprovders.

@ckamm

This comment has been minimized.

Copy link
Member Author

commented Jul 24, 2019

Note that as far as I'm aware we targeted this for 2.6.1 - having it in 2.6.0 is optional.

@jnweiger

This comment has been minimized.

Copy link
Contributor

commented Jul 24, 2019

Packaging is updated.
deb based distros will pick up libcloudproviders automatically at build time if available,
rpm based distros cannot do that, but the *.spec file now has

%if 0%{?fedora_version} > 30 || 0%{?sle_version} > 150200
# fedora 30 has only 0.2.5
# opensuse leap 15.2 still has only 0.2.5
BuildRequires:  libcloudproviders-devel >= 0.3.0
%endif

as a hint...

@jnweiger

This comment has been minimized.

Copy link
Contributor

commented Jul 24, 2019

That is all we can do here, it seems. Ubuntu 19.04 already suffers from missing tray icons, but their nautilus is not built with --enable-cloudproviders. The user experience is rather broken there, and we cannot do much about it, afaik.

NotReadyToTest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.