-
Notifications
You must be signed in to change notification settings - Fork 119
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
Flatpak package for Linux #1014
Comments
Would it be possible to have a Flatpak be a VPN since it's sandboxed? |
I'm not sure and very likely depends on how it's done and how it integrates into the system. Online I could only find https://linuxpunx.com/2021/04/05/flatpak-and-whatip/, which seems to indicate it can at least have access to the network interfaces. |
FYI, I’m packaging |
I tried my hand at this but unfortunately I got stuck at the requirement for PolKit which doesn't seem to be supported (that link is from a while ago so I'm not sure if anything has changed since then). I don't know enough about how a VPN and PolKit work so I gave up 😅 . Depending on what Mozilla VPN needs root privileges for, you might be able to replace it with Portals. |
I think we can work around the use of Polkit by explicitly requesting permissions to access the D-Bus name |
any hope? or is this dead/abandoned? (would like to see this for my SUSE's MicroOS ...or other immutable distros) |
I've been testing the current flatpak based on 6.6 and it works well. In case others aren't aware of this, you can build the flatpak by navigating to the linux/flatpak folder and either: # Building in one go
flatpak-builder build --install-deps-from=flathub --force-clean --ccache --install org.mozilla.vpn.yml
# Building the flatpak manually
flatpak-builder flatpak-build-dir --force-clean --install-deps-from flathub --repo=mozillavpn-master org.mozilla.vpn.yml
flatpak-builder --run flatpak-build-dir org.mozilla.vpn.yml mozillavpn # This just tests whether the flatpak runs
flatpak build-bundle mozillavpn-master mozillavpn.flatpak org.mozilla.vpn
sudo flatpak install mozillavpn.flatpak I've noticed however that if you install the flatpak as Could we get some collaboration from the Flatpak folks and from the KDE SDK folks to resolve the remaining issues? :> |
@herzenschein For a minute there, I thought that was just the holy grail you've given me on Christmas day: a single-line command to build and install the official Mozilla VPN client on a non-ubuntu Linux distro. So I just did For a couple of minutes, everything looked promising, until eventually it failed with this:
Sigh... 😞 I'll try the manual build steps that you also shared. Maybe it's currently broken in |
@herzenschein That same flatpak-builder flatpak-build-dir --force-clean --install-deps-from flathub --repo=mozillavpn-master org.mozilla.vpn.yml This is on Clear Linux OS, rolling release version By the way, this MozillaVPN Flatpak build script apparently uses some outdated dependencies. The Flatpak build process warned about version I'll try checking out a release tag and building the Flatpak with that. |
Okay, there is apparently a subdirectory Let me see if I can find any info on this in any of the documentation... Maybe @herzenschein just forgot to mention this step in the instructions he shared. That can happen. |
OK, I got a bit further. In
However, no matter which of these suggested Git submodule update commands on StackOverflow I try, it's not downloading that particular submodule for some reason. 🤔 I'm going to try checking out that GitHub project into the Still weird that it's not pulling this particular submodule automatically. I have to say that I'm not very familiar with Git submodules. Until now, I've never seen the need to use submodules in any of my Git projects yet. So although I've used Git for years, my knowledge on this is somewhat lacking. |
Ah, another clue: the file Aha: this answer on StackOverflow seems to be what I'm looking for:
Okay, so I removed all |
OK, this is really weird. I started with a fresh new working copy by following the initial steps in the general build instructions: git clone https://github.com/mozilla-mobile/mozilla-vpn-client.git
cd mozilla-vpn-client
git submodule update --init --recursive And it downloaded a lot of submodules, but it still skipped submodule
And even if I delete the entire rm -rf 3rdparty/
git submodule update --init --recursive Output:
cat .gitmodules | grep submodule Output:
As you can see, all the other submodules are downloaded, and in the case of I guess I could just manually run (Indeed, I have nothing else to do on this Christmas Day, but I'm actually enjoying this. 😅) |
@volkertb A Git submodule is stored in the repository in two parts (documentation):
You can see the $ git ls-tree origin/main:3rdparty/
100644 blob d0a233f8087440c82cec85afb4ee80ecb7ac9394 README.md
160000 commit 98a78ddc0ce52287f7b39132c3ee6ff82b9546ee adjust-android-sdk
160000 commit 73e4121098cad1854579575d79eff3beb1ee65b3 adjust-ios-sdk
100644 blob b3c073618f8e1a4002eab1610c0a14750b7dcf8b adjust_https_to_http.diff
160000 commit 9f785a92bdcacc862c609cd3e02b05b68c74862a glean
160000 commit 7da43c55c078456cd2b14df3d7ec7a52848bc5e9 i18n
160000 commit 63699d75a77a689abd8016c52577e799f3dbad4f sentry
160000 commit 12b095470ad29ecea7436088f6e5fa701e6445a6 wireguard-apple
160000 commit ee1c8e0e8789e413cca3c1c3464cd3708d518b33 wireguard-go
160000 commit 139aac59a5ab7da913d4b6dd62692fa90e2ccad4 wireguard-tools and in the web interface. Using |
When I delete the entire
Apparently, just declaring a submodule in the After having read the official documentation on Git Submodules (yeah, I know, I should have done that earlier 🙈), I now have a theory on what's wrong here: The developer that added the I'll try to add and commit the submodule |
So I tried adding the (shallow) submodule locally, and indeed, the
|
Sorry I missed your earlier comment, @andersk. Thanks for clarifying. So in fact, the opposite of my theory was true: the |
Update: the change did work. I initially did something wrong on my end, but with the fix in the PR, I got it to compile. Now I'm getting a permissions-related error with the "All in one go" command when it tries to install the Flatpak after building and exporting it to the local repo:
I probably need to install it with |
With the fix that @andersk submitted in PR #10153, it's working! 🥳 I ran the manual step-by-step commands that @herzenschein shared above, and I ran
The UI works great, with smooth animations, and everything, even on this somewhat older machine that I'm running this on. 🙂 I hope the PR gets merged soon, since it's a very small fix. And @herzenschein, maybe just create a PR to add the installation steps that you shared above to the "Building the client" page? Under a new paragraph titled "Building a Flatpak", perhaps? This would be useful to many people! I hope that Mozilla will publish an official Flatpak to Flathub soon, because this will be very useful to a lot of people running non-ubuntu distros. 🙏🏾 @andersk and @herzenschein Thank you both for this wonderful Christmas present! 🎅 🎁 Happy holidays, everyone. |
Ah, and I assume that those pinned end-of-life |
It would be nice if you could publish this as a flatpak on flathub e.g.
Flatpaks are a new software distribution mechanism for Linux distros, can thus installed on any distro and are easy to update.
Here is how to get started.
┆Issue is synchronized with this Jira Task
The text was updated successfully, but these errors were encountered: