mozilla-mobile / mozilla-vpn-client

A fast, secure and easy to use VPN. Built by the makers of Firefox.
https://vpn.mozilla.org
Other
443 stars 103 forks source link

Release .rpm files for RPM based Linux distributions #450

Open lolrepeatlol opened 3 years ago

lolrepeatlol commented 3 years ago

First, congrats on the release! đŸ„ł

A lovely Linux distro I find myself on from time to time is Fedora. Since it's not an Ubuntu-based system and rather an RPM-based distro, it requires a different package format called an .rpm. Do you mind providing such a file?

Other popular distros that use this kind of file include Red Hat Linux, OpenSUSE, and CentOS.

┆Issue is synchronized with this Jira Task ┆Reporter: Data Sync ┆Link To Issue: https://mozilla-hub.atlassian.net/browse/VPN-433

j-silver commented 3 years ago

In the meantime, I've built the client on Fedora 33.

When I launch the daemon I get this error, which is related to some polkit and/or dbus setting specific to Fedora, and the process terminates.

sudo ./build/bin/mozillavpn linuxdaemon
[sudo] password for user:

[13.01.2021 10:49:32.393] (main - LogHandler) Log file: /root/.local/share/mozillavpn.txt
[13.01.2021 10:49:32.393] (main - Command) MozillaVPN 2.0.2
[13.01.2021 10:49:32.394] (main - CryptoSettings) Read the settings file
[13.01.2021 10:49:32.394] (main - SettingsHolder) Creating SettingsHolder instance
[13.01.2021 10:49:32.394] (main - Localizer) Loading language: en-GB
[13.01.2021 10:49:32.394] (main - SettingsHolder) Setting languageCode
[13.01.2021 10:49:32.396] (linux - main) Connecting to DBus...
[13.01.2021 10:49:32.397] (linux - main) Connection failed - name: org.freedesktop.DBus.Error.AccessDenied message: Request to own name refused by policy
[13.01.2021 10:49:32.405] (main - CryptoSettings) Writing the settings file
[13.01.2021 10:49:32.405] (main - CryptoSettings) Write plaintext JSON file

Any idea of what needs to be done? I can open another issue if necessary.

dannycolin commented 3 years ago

I can open another issue if necessary.

Yes please. It's always better to limit a bug report to only one specific issue ;).

pojntfx commented 3 years ago

Managed to get it to build & work on Fedora:

git clone git@github.com:mozilla-mobile/mozilla-vpn-client.git
cd mozilla-vpn-client/
git submodule init
git submodule update
pip install glean_parser pyhumps pyyaml
sudo dnf install -y qt qt-devel polkit-devel resolvconf
./scripts/generate_glean.py
python scripts/importLanguages.py
qmake-qt5 CONFIG+=production
make -j$(nproc)
sudo make install

Would really appreciate a proper RPM package though.

lolrepeatlol commented 3 years ago

Managed to get it to build & work on Fedora:

git clone git@github.com:mozilla-mobile/mozilla-vpn-client.git
cd mozilla-vpn-client/
git submodule init
git submodule update
pip install glean_parser pyhumps pyyaml
sudo dnf install -y qt qt-devel polkit-devel resolvconf
./scripts/generate_glean.py
python scripts/importLanguages.py
qmake-qt5 CONFIG+=production
make -j$(nproc)
sudo make install

Would really appreciate a proper RPM package though.

woah cool! does it work? are you on f34? :)

pojntfx commented 3 years ago

I'm still on F33 😅 Will need to upgrade soon. Works great, no root/polkit modifications needed:

image

j-silver commented 3 years ago

Have you got SELinux enabled on your machine? I still have the same errors, when running from within the build directory, and I don't dare to run make install, for fear of breaking my OS again. In the meantime I'm on Fedora 34.

jbatmalle commented 3 years ago

It's work on fedora 34 but I have an issue with firefox account (I asked support)

For complete @pojntfx I was installed following packages:

j-silver commented 3 years ago

May I ask you what result the command getenforce give to you?

jbatmalle commented 3 years ago

May I ask you what result the command getenforce give to you?

[jeremy@pcjeremy ~]$ sudo getenforce Disabled

j-silver commented 3 years ago

Thanks, that's why I'm wary of trying it myself... I have it enabled. I mean, it was recoverable in the end, but I don't want to tinker with it again. For the time being I'll keep using mozwire.

lolrepeatlol commented 3 years ago

Haha yeah, I'm definitely not going to turn off SELinux for a VPN 😅

j-silver commented 3 years ago

Yes, it seems to work now. Thanks

heyakyra commented 2 years ago

The ticket name suggests releasing official rpm files, not just un-breaking the ability to build these packages. Can this be open until that happens?

iam-cult commented 2 years ago

I would really like this. I am using fedora silverblue, which is immutable (so I can't compile), and have to use MozWire which is fairly unintuitive. I would really like to see an official RPM package.

Slippingstones commented 2 years ago

Managed to get it to build & work on Fedora:

git clone git@github.com:mozilla-mobile/mozilla-vpn-client.git
cd mozilla-vpn-client/
git submodule init
git submodule update
pip install glean_parser pyhumps pyyaml
sudo dnf install -y qt qt-devel polkit-devel resolvconf
./scripts/generate_glean.py
python scripts/importLanguages.py
qmake-qt5 CONFIG+=production
make -j$(nproc)
sudo make install

Would really appreciate a proper RPM package though.

Hey newbie here. I don't seem to have a generate_glean.py file. I also don't have access to download for this git using your command so that could be an issue? I know someone is working on a RPM currently, but man this is unfortunate. I really don't want to swap to Ubuntu after learning Fedora.

j-silver commented 2 years ago

Clone from https, you can copy and paste the public URL by clicking on code in the home page.

git clone https://github.com/mozilla-mobile/mozilla-vpn-client.git

jgero commented 2 years ago

I would really like this. I am using fedora silverblue, which is immutable (so I can't compile), and have to use MozWire which is fairly unintuitive. I would really like to see an official RPM package.

I use Fedora 34 Silverblue as well and the build pipeline of this repo already creates a .rpm which you can layer like any other rpm file. The only issue I have with it is that the multi account container extension of Firefox does not detect my installed client, so I cannot use the container VPN feature. Any hints on how I could fix that?

dannycolin commented 2 years ago

@jgero See https://github.com/mozilla/multi-account-containers/issues/2246 I have the same issue on regular Fedora 35.

acerspyro commented 2 years ago

The built rpm package from the artifacts seems to work perfectly on Fedora 36, it's just annoying to get to and I wish Mozilla released it officially.

j-silver commented 2 years ago

The built rpm package from the artifacts seems to work perfectly on Fedora 36, it's just annoying to get to and I wish Mozilla released it officially.

Where are these artifacts?

lolrepeatlol commented 2 years ago

The built rpm package from the artifacts seems to work perfectly on Fedora 36, it's just annoying to get to and I wish Mozilla released it officially.

Where are these artifacts?

https://github.com/mozilla-mobile/mozilla-vpn-client/actions/runs/1904539193 (scroll down)

dannycolin commented 2 years ago

Maybe we could add a github CI action that create a release when a new version tag is pushed. @groovecoder any thought?

dannycolin commented 2 years ago

In the meantime, I created a COPR repository that I'd try to keep up-to-date. See: https://copr.fedorainfracloud.org/coprs/dannycolin/mozillavpn/

Cimbali commented 2 years ago

With some help and a bit of patching I managed to modify @dannycolin’s spec to create an OBS repo for OpenSUSE:

https://build.opensuse.org/package/show/home:cimbali/mozillavpn

(Currently it only supports Tumbleweed, as Leap 15.2 does not provide golang ≄ 1.13 and neither Leap 15.2 nor 15.3 provide Qt5 ≄ 5.15.) Firefox container integration works as expected.

aka-buccia commented 1 year ago

I've tried compiling MozillaVPN on Fedora 36 and it is a nightmare. I haven't succeeded because of qt6 packages, as also reported here. Now I’m using the version 2.8 rpm available thanks to @dannycolin because, you know, the official package now is "expired" on github. A RMP package for the latest version would be really appreciated, or in the meantime if someone has been able to compile... I would be grateful for an help

dannycolin commented 1 year ago

A RMP package for the latest version would be really appreciated, or in the meantime if someone has been able to compile... I would be grateful for an help

IIUC, there was some issue with the build script for the RPM package for 2.9 but it should be available for the next release (2.10).

teaalltr commented 10 months ago

Any news on this? Are RPM builds available?

aka-buccia commented 10 months ago

Hi, the situation seems to be stagnant. In the meantime I wrote an "idea" on Mozilla Connect. If you'd like to you can support it with kudos and comments. Thanks

devurandom commented 5 months ago

The latest RPM mozillavpn-2.20.0~build20240125-1.x86_64 built from the main branch (https://github.com/mozilla-mobile/mozilla-vpn-client/actions/runs/7661282763) depends upon libQt6Network.so.6(Qt_6.5_PRIVATE_API)(64bit), but since Fedora 39 is on Qt 6.6 that symbol is not available in current packages.

I submitted a PR to update to Fedora 39 (https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9028), but need a maintainer to approve the build: https://github.com/mozilla-mobile/mozilla-vpn-client/actions/runs/7679095236

dralley commented 2 months ago

Lack of a Fedora package is the sole reason I don't have a subscription.

At least committing a specfile to the main repository would be a good idea... @dannycolin Does yours still work?

Cimbali commented 2 months ago

Specfiles are released in the source releases. You can find them under linux/mozillavpn.spec in the archives, I think they are generated from (or the same as) the linux/mozillavpn.spec file in the repo.

dannycolin commented 2 months ago

As Cimbali mentioned, there's a specfile in the repository. Also, there's a GitHub Action on this repository that automatically build a RPM package on new commits. Here's an example https://github.com/mozilla-mobile/mozilla-vpn-client/actions/runs/8956137185. Mozilla doesn't officially support it so it's "use at your own risk".

teaalltr commented 2 months ago

Why does Mozilla doesn't officially support the RPM package?

Cimbali commented 2 months ago

It’s more restrictive than that, the Download page currently says “Ubuntu 20.04 and up”.