mozilla-vpn-client icon indicating copy to clipboard operation
mozilla-vpn-client copied to clipboard

Release .rpm files for RPM based Linux distributions

Open lolrepeatlol opened this issue 4 years ago • 36 comments

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

lolrepeatlol avatar Jan 12 '21 20:01 lolrepeatlol

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.

j-silver avatar Jan 13 '21 10:01 j-silver

I can open another issue if necessary.

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

dannycolin avatar Jan 13 '21 14:01 dannycolin

Managed to get it to build & work on Fedora:

git clone [email protected]: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.

pojntfx avatar May 08 '21 20:05 pojntfx

Managed to get it to build & work on Fedora:

git clone [email protected]: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? :)

lolrepeatlol avatar May 08 '21 21:05 lolrepeatlol

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

image

pojntfx avatar May 08 '21 21:05 pojntfx

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.

j-silver avatar May 09 '21 09:05 j-silver

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:

  • sudo dnf install qt5-qtconnectivity-devel
  • sudo dnf install qt5-qtquickcontrols qt5-qtquickcontrols2 qt5-qtquickcontrols2-devel
  • sudo dnf install qt5-qtnetworkauth-devel
  • sudo dnf install qt5-qtcharts-devel
  • sudo dnf install qt5-qttools-devel
  • sudo dnf install wireguard-tools

Screenshot_20210521_112243

jbatmalle avatar May 21 '21 09:05 jbatmalle

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

j-silver avatar May 21 '21 11:05 j-silver

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

[jeremy@pcjeremy ~]$ sudo getenforce Disabled

jbatmalle avatar May 21 '21 12:05 jbatmalle

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.

j-silver avatar May 21 '21 12:05 j-silver

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

lolrepeatlol avatar May 22 '21 06:05 lolrepeatlol

Yes, it seems to work now. Thanks

j-silver avatar Jun 05 '21 17:06 j-silver

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?

heyakyra avatar Aug 04 '21 22:08 heyakyra

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.

iam-cult avatar Oct 13 '21 16:10 iam-cult

Managed to get it to build & work on Fedora:

git clone [email protected]: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.

Slippingstones avatar Oct 20 '21 23:10 Slippingstones

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

j-silver avatar Oct 21 '21 07:10 j-silver

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?

jgero avatar Dec 24 '21 11:12 jgero

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

dannycolin avatar Dec 24 '21 17:12 dannycolin

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.

acerspyro avatar Feb 26 '22 20:02 acerspyro

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?

j-silver avatar Feb 27 '22 07:02 j-silver

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)

lolrepeatlol avatar Feb 27 '22 08:02 lolrepeatlol

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

dannycolin avatar Feb 27 '22 19:02 dannycolin

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/

dannycolin avatar Mar 01 '22 23:03 dannycolin

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.

Cimbali avatar Mar 23 '22 21:03 Cimbali

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

aka-buccia avatar Sep 01 '22 21:09 aka-buccia

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).

dannycolin avatar Sep 04 '22 14:09 dannycolin

Any news on this? Are RPM builds available?

teaalltr avatar Sep 08 '23 21:09 teaalltr

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

aka-buccia avatar Sep 09 '23 15:09 aka-buccia

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

devurandom avatar Jan 27 '24 14:01 devurandom

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?

dralley avatar May 05 '24 02:05 dralley