flathub / com.visualstudio.code.oss

https://flathub.org/apps/details/com.visualstudio.code.oss
GNU Affero General Public License v3.0
47 stars 12 forks source link

Install dependencies needed by VS Live Share #11

Open G-Ray opened 6 years ago

G-Ray commented 6 years ago

Although tagged as a preview release, VS Live Share is a popular extension. (https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)

Do you think we could add the needed dependencies to make it work in this flatpak ?

G-Ray commented 6 years ago

For list of needed dependencies, see https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/linux#install-linux-prerequisites

amtlib-dot-dll commented 6 years ago

Good idea, if possible can you give a list of how to build these dependencies on flatpak?


By the way, is the list subject to change?

devhen commented 6 years ago

It would be awesome to get this working in the VS Code OSS flatpak. In addition to the dependencies, it appears that the extensionAllowedProposedApi in product.json is missing the value ms-vsliveshare.vsliveshare but maybe this would get added during initialization of the extension if the dependencies were there?

See here: https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/linux#vs-code-oss-issues

ahayzen commented 5 years ago

tl;dr; After adding an extra --talk-name=org.freedesktop.secrets and ignoring library missing warnings, it works \o/

So playing about with this I've found the following...

Dependencies

libunwind               MISSING
lttng-ust               MISSING
libcurl                 runtime (libcurl.so.4.4.0)
openssl-libs            runtime (libssl.so.1.0.2, libssl3.so, libgnutls-openssl.so.27.0.2)
libuuid                 runtime (libuuid.so.1.3.0)
krb5-libs               runtime (libkrb5.so.3.3)
libicu                  runtime (libicu*.so.57.1)
zlib                    runtime (libz.so.1.2.8)
gnome-keyring           ?
libsecret               json (libsecret-1.so.0.0.0)
desktop-file-utils      runtime

I tried adding libunwind to the package, using a similar definition (without the prefix) as [0] this doesn't change the missing libraries warning.

Instead looking at the script which is run [1], one can see that it tries to find apt-get or yum or pacman etc and then eventually fail. I have found if you click install and then ignore the errors one is able to use LiveShare.

However authentications aren't stored (so every time you open a window you have to re-auth), after talking on #flatpak it was suggested to add --talk-name=org.freedesktop.secrets to allow access to the hosts keyring. After doing this VS Code remembers my user and i have been able to successfully do LiveShare assuming I click "Install" to the dependency question and then dismiss the error.

This is the question I get when launching a new window: We were unable to install support for joining sessions using a browser link. You may be missing key Linux libraries. Install them now? I then click "Install" and the following message appears: The dependency installer failed. Try installing dependencies manually. Once I dismiss this LiveShare works.

Note that this text does not match the error at the end of [1], I wonder where it comes from and if we are able to hide/skip it as the dependencies are already installed and working ?

0 - https://github.com/flathub/org.freedesktop.Sdk.Extension.dotnet/blob/69d03f7508e24b03e53ea670b27a8c7a6e7ac126/org.freedesktop.Sdk.Extension.dotnet.yaml#L10 1 - https://raw.githubusercontent.com/MicrosoftDocs/live-share/master/scripts/linux-prereqs.sh