<div id="geary-body" dir="auto"><div>On Thu, May 31, 2018 at 6:37 AM, Freemor <freemor@freemor.ca> wrote:<br><blockquote type="cite"><div style="white-space: pre-wrap;">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</div></blockquote><div><br></div><div>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,</div><div>and does not break anything on the system.</div><div><br></div><div>Flatpaks are a tool for both developing apps and distributing apps. To simplfy.</div><div>Flatpak uses packages called SDKs to handle dependencies.  These SDKs are installed to flatpak-managed directories. When writing an application</div><div>developers have what is called a "Flatpak manifest" which tells Flatpak what SDKs</div><div>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 sepera
 te from the application itself.</div><div><br></div><div>Effectively, the way Flatpak handles <span style="white-space: pre-wrap;">things allows for there to be no significant difference </span><span style="white-space: pre-wrap;">between the environment the developer uses and the environments</span></div><div><span style="white-space: pre-wrap;">that users use, as the application is running on the same set of dependencies</span></div><div><span style="white-space: pre-wrap;">across all distributions. This allows users on Debian stable, for example,</span></div><div><span style="white-space: pre-wrap;">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.</span></div><div><span style="white-space: pre-wrap;"><br></span></div><blockquote type="cite"><span style="white-space: pre-wrap;"> So I fail to see </span><span style="white-space: pre-wrap;
 ">the advantage of adding this and mostly see the many downsides both to people </span><span style="white-space: pre-wrap;">developing/maintaining Parabola and to users of Parabola and those that support </span><span style="white-space: pre-wrap;">them.</span></blockquote><span style="white-space: pre-wrap;"><br></span><div><span style="white-space: pre-wrap;">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</span></div><div><span style="white-space: pre-wrap;">the distro's version of the application. [1] is an example of this in action.</span></div><div><span style="white-space: pre-wrap;"><br></span></div><div><span style="white-space: pre-wrap;">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 s
 ince they run on the same base. [2] is an example of a bug that occurs on all Flatpak installs regardless</span></div><div><span style="white-space: pre-wrap;">of system fonts.</span></div></div><div><span style="white-space: pre-wrap;"><br></span></div><div><span style="white-space: pre-wrap;">[1]: <a href="https://gitlab.gnome.org/GNOME/nautilus/issues/322">https://gitlab.gnome.org/GNOME/nautilus/issues/322</a></span></div><div><span style="white-space: pre-wrap;"><br></span></div><div><span style="white-space: pre-wrap;">[2]: <a href="https://gitlab.gnome.org/World/fractal/issues/224">https://gitlab.gnome.org/World/fractal/issues/224</a></span></div><div><span style="white-space: pre-wrap;"><br></span></div><div><span style="white-space: pre-wrap;">Below is a quote of a message I sent in reply to bill-auger, as I forgot to reply all.</span></div><div><span style="white-space: pre-wrap;"><br></span></div><blockquote type="cite"><div>Unlike pip, GNOME Software uses pacman for insta
 lling 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.</div><div><div><br></div></div><div><div>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.</div></div><div><div>This means you can run a stable release and a development flatpak on the same system without issues.</div></div><div><div><br></div></div><div><div>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</div></div><div><div>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 othe
 r in any way. Thus, no instability is caused</div></div><div><div>by having the ability to support flatpak.</div></div><div><div><br></div></div><div><div>> <span style="white-space: pre-wrap;">how much work would need to be</span></div></div><div><span style="white-space: pre-wrap;">done to make this happen? as i remember this would require at the very least</span></div><div><span style="white-space: pre-wrap;">some work creating an appstream data package</span></div><div><div><span style="white-space: pre-wrap;"><br></span></div></div><div><div><span style="white-space: pre-wrap;">The HOWTO file in the link[1] in my initial message goes over the process for creating this data.</span></div></div><div><div><span style="white-space: pre-wrap;"><br></span></div></div><div><div><span style="white-space: pre-wrap;">[1]: </span><a href="https://sources.archlinux.org/other/packages/archlinux-appstream-data/">https://sources.archlinux.org/other/packages/archlinux-appstream-data/</a
 ></div></div></blockquote></div><div id="geary-quote" dir="auto"><br>On Thu, May 31, 2018 at 6:37 AM, Freemor <freemor@freemor.ca> wrote:<br><blockquote type="cite"><div class="plaintext" style="white-space: pre-wrap;">On Wed, May 30, 2018 at 08:46:48PM -0400, bill-auger wrote:
<blockquote> 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]: <a href="https://labs.parabola.nu/issues/1035">https://labs.parabola.nu/issues/1035</a>
</blockquote>
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.


</div><div class="plaintext" style="white-space: pre-wrap;">_______________________________________________
Dev mailing list
<a href="mailto:Dev@lists.parabola.nu">Dev@lists.parabola.nu</a>
<a href="https://lists.parabola.nu/mailman/listinfo/dev">https://lists.parabola.nu/mailman/listinfo/dev</a>
</div></blockquote></div>