[Dev] GNOME Software, archlinux-appstream-data, and Flatpak

Christopher Davis brainblasted at disroot.org
Thu May 31 17:52:32 GMT 2018


On Thu, May 31, 2018 at 6:37 AM, Freemor <freemor at freemor.ca> wrote:
> Even if flatpacks get installed to a users home dir there can be 
> confusing
> support issues as the user could now be running conflicting versions 
> of various
> software

Flatpaks are installed in a sandboxed environment. If you have two of 
the same application installed your system will gracefully handle it 
without conflicts, allowing you to use both. It is not pip-style where 
it overwrites files on the system,
and does not break anything on the system.

Flatpaks are a tool for both developing apps and distributing apps. To 
simplfy.
Flatpak uses packages called SDKs to handle dependencies.  These SDKs 
are installed to flatpak-managed directories. When writing an 
application
developers have what is called a "Flatpak manifest" which tells Flatpak 
what SDKs
the application relies on. When you export a Flatpak and install it, 
Flatpak pulls the SDKs needed if they are not already installed, then 
installs the app - without overwriting anything on the system. In 
contrast to bundled solutions like AppImage, the dependecies can be 
updated seperate from the application itself.

Effectively, the way Flatpak handles things allows for there to be no 
significant difference between the environment the developer uses and 
the environments
that users use, as the application is running on the same set of 
dependencies
across all distributions. This allows users on Debian stable, for 
example,
to install applications with dependencies or dependency versions their 
distro doesn't ship as long as they have flatpak, and all without 
conflicting or interfering with system dependencies.

>  So I fail to see the advantage of adding this and mostly see the 
> many downsides both to people developing/maintaining Parabola and to 
> users of Parabola and those that support them.

 From a developer perspective, Flatpak is incredibly useful. GNOME CI 
tasks generate flatpak artifacts. This means that if I want to test an 
unstable build or a merge request, I simply download the artifacts and 
run the flatpak side-by-side with
the distro's version of the application. [1] is an example of this in 
action.

As a user, it for the most part, prevents developers from telling me 
something could be wrong with my system, as most bugs will be 
repoducable since they run on the same base. [2] is an example of a bug 
that occurs on all Flatpak installs regardless
of system fonts.

[1]: https://gitlab.gnome.org/GNOME/nautilus/issues/322

[2]: https://gitlab.gnome.org/World/fractal/issues/224

Below is a quote of a message I sent in reply to bill-auger, as I 
forgot to reply all.

> Unlike pip, GNOME Software uses pacman for installing system-level 
> packages. It does not go around it, so it will not cause conflicts 
> with pacman because it is basically a frontend to pacman. Pacman 
> knows all non-flatpak software installed through GNOME Software, and 
> GNOME Software knows all software installed through pacman.
> 
> As for Flatpak, that issue is also avoided. Software installed via 
> Flatpak is handled through Flatpak-specific directories, with no 
> conflict occurring with system-level files.
> This means you can run a stable release and a development flatpak on 
> the same system without issues.
> 
> This means there is no pip-style cleanup of directories necessary. If 
> you install something not a flatpak through GNOME Software and then 
> uninstall through pacman -R, there
> would be zero issue. If you install a flatpak and the same system 
> app, you can run both, and unisntalling either will not affect the 
> other in any way. Thus, no instability is caused
> by having the ability to support flatpak.
> 
> > how much work would need to be
> done to make this happen? as i remember this would require at the 
> very least
> some work creating an appstream data package
> 
> The HOWTO file in the link[1] in my initial message goes over the 
> process for creating this data.
> 
> [1]: 
> https://sources.archlinux.org/other/packages/archlinux-appstream-data/

On Thu, May 31, 2018 at 6:37 AM, Freemor <freemor at freemor.ca> wrote:
> On Wed, May 30, 2018 at 08:46:48PM -0400, bill-auger wrote:
>>  On Wed, 2018-05-30 at 19:29 -0400, Christopher Davis wrote:
>>  > GNOME Software uses Flatpak and the system package manager.
>> 
>>  this next statement is perhaps nit-picking, but that wording is too 
>> pretentious
>>  not to be made clear - i dont imagine the gnome people would agree 
>> with it as
>>  worded - until the day comes when gnome releases it's very own 
>> distro, then
>>  gnome would have no grounds to define the "system package manager" 
>> - in the
>>  context of a distro, the 'gnome software' program and gnome itself 
>> are third-
>>  party software - 'flatpack' is yet another unrelated third-party 
>> software that
>>  the 'gnome software' program makes use of for it's own purposes, 
>> which should be
>>  entirely orthogonal to anything that "the system" is concerned with 
>> - in other
>>  words, if this program is capable of installing software without 
>> using pacman
>>  and installing it to the same system locations as pacman might 
>> install that same
>>  software, then this program should be blacklisted for that reason 
>> alone, because
>>  it leads to system instability - i had to mention that because i 
>> have seen pip
>>  do this, and it is a real mess to cleanup
>> 
>> 
>>  [1]: https://labs.parabola.nu/issues/1035
> 
> I share Bill-augers concerns about a foreign package format and 
> package manager
> that uses that format with regards to making the system unstable. npm 
> has
> recently had issues with malware, pip can and does make a confusing 
> mess, as
> bill-auger mentioned. Etc.
> 
> Even if flatpacks get installed to a users home dir there can be 
> confusing
> support issues as the user could now be running conflicting versions 
> of various
> software and all too often the request for help is "thing Z is 
> broken, help"
> and it may not come out until well into trying to support then that 
> "oh, yea..
> I installed Z, D and F via flatpak". On top of user support requests 
> there
> would be the maintenance burden. Maintaining a flatpack blacklist, 
> the appstream,
> etc.
> 
> 
> I can appreciate that some users desire a GUI based package manager. 
> But pacman
> is really quite easy to use if people take the time to learn. So I 
> fail to see
> the advantage of adding this and mostly see the many downsides both 
> to people
> developing/maintaining Parabola and to users of Parabola and those 
> that support
> them.
> 
> If Gnome software can act as a GUI the pacman without the foreign 
> flatpak
> support, then I'm all for that. But adding another headache for 
> maintainers and
> supporters and another avenue for new comers to shoot themselves in 
> the foot I
> think we can all do without.
> 
> Also is it just me or is it hard to get useful detailed info on 
> flatpak. I've
> spent time on flatpak.org and have yet to find good technical 
> documentation.
> Even their "under the hood" section of their docs is way short of 
> technical
> details. Wikipedia's entry is similarly scant on details.
> 
> 
> _______________________________________________
> Dev mailing list
> Dev at lists.parabola.nu
> https://lists.parabola.nu/mailman/listinfo/dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20180531/56cc8f6a/attachment.htm>


More information about the Dev mailing list