Page MenuHomePureOS Tracker

Please ship the fractal matrix client
Open, NormalPublic

Description

Hi,
short version:
it would be great if pureos shipped fractal:

https://gitlab.gnome.org/World/fractal/

Longer version:
The Librem5 will likely use fractal as it's matrix client. In order to have the same things on the phone and desktop it would be great to have fractal in PureOS proper. An alternative would be to ship it as a flatpak (in both worlds (laptop and phone)).
Packaging it for Debian/PureOS is not trivial since it has a dependencies on gtk-rs on other things which isn't in Debian either. That said this stuff needs
to go into Debian sooner or later anyway.

There's an RFP for fractal: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900928 . I could help with packaging it but would not be able to do it alone.

This bug is mostly to initiate a discussion on how to deal with these types of apps consistently in the future (aka the PureOS app "story"). I'd welcome any thoughts.

Event Timeline

guido created this task.Jul 25 2018, 08:35
guido added a subscriber: tbernard.Jul 25 2018, 08:38
jonas.smedegaard claimed this task.EditedAug 11 2018, 05:39
jonas.smedegaard triaged this task as Normal priority.
jonas.smedegaard added a subscriber: jonas.smedegaard.

Thanks for creating an issue to track this!

I have had my eyes on packaging fractal for some time already.

Not sure I dare take the responsibility of maintaining the package in Debian: I am totally new to Rust, and the Rust team uses an unusual track-all-packages-in-one-single-git approach which I am highly sceptical about and have failed gaining understanding in the team of my concerns.

I have however identified a subtle underlying issue blocking packaging of Fractal: Fractal speel checking indirectly needs a newer gnulib. I have taken over maintenance of gnulib in Debian (it was orphaned) but have not yet found/taken time to upgrade it (want to first enable its testsuite - which require yet another tool to be packaged for Debian).

guido added a project: Restricted Project.Oct 17 2018, 05:44

Fratal no longer depend indirectly on gnulib.

It feels like there is a decision to be made here: are we going to invest time and resources in PureOS components when they are not in Debian yet? My feeling from the team is that the answer is an emphatic "yes."

The follow on question is then how do we do this? Its good that you've identified dependencies like Gnulib Jonas. Is there a way for us to outline the steps needed to get Fractal into PureOS? With regard to rust, have you looked at Cargo; https://doc.rust-lang.org/cargo/guide/index.html?

I see several approaches:

a) Get it packaged officially in Debian
b) Get it packaged as .deb directly in PureOS
c) Make a flatpak
d) Rely on externally made flatpak

As I see it, d) is unacceptable: We cannot ensure our users that code shipped by others comply with our policies!

Personally for me, c) and b) is unacceptable too: PureOS lack man power to even do packaging, let alone govern the packaging efforts afterwards - e.g. track security issues and needs for recompilations when libraries later change.

My approach is therefore a).

Cargo is already in Debian, as is a few Rust-based applications (and a bunch of libraries).
Packaging rust stuff officially in Debian means either joining the Rust team and work from there, or work independently of that team. The Rust team is mainly run by Ximin who has strong opinions on how to do things and I have clashed with him in the past around some of those. A good friend of mine have worked in the Rust team (I believe he did some of the initial work getting debcargo packaged) but I recently learned that he has backed out of the team.
I worry that I cannot work closely with Ximin in the Rust team. And I worry that I cannot handle Rust packages on my own, outside the team because I lack skills programming in Rust.

On top of that, it is in any case highly unlikely that Fractal and its many dependencies gets packaged before Freeze. on January 12th.

PureOS has no clear plan and I believe no experience in how to handle a freeze.

I think making a flatpak and hosting that flatpak is an acceptable approach. This is why;

  1. This is likely the fastest way to get Fractal into PureOS
  2. We can label the hosted flatpak repo as experimental and set expectations accordingly

That's your call.

I believe I stated my (different!) opinion already. Please tell if you want me to elaborate any of it.