New Flatpak 1.3.2 uses custom FUSE filesystem installation technique

Flatpak aims application developers on creating one app, and distribute it to the entire Linux desktop market, avoiding the hassle of broken dependencies while installing the packages. As of today, Flatpak can be used with a total of 21 distros.

Flatpak 1.3.2 is now officially released. The major highlight of this release is the new setup process, which uses on a custom FUSE file system. It includes a significant change in how flatpak installs the system as a user.

Until today’s release, flatpak pulled in a temporary directory owned by the user and then asked the flatpak system helper to import from this directory. Perversely, since flatpak cannot trust the user directory, it had to copy those files during the import process, causing redundant Input-Output cycles as well as using additional temporary disk space.

To overcome the shortcoming, the Flatpak dev team have come up with an efficient new installation technique called custom fuse filesystem. It is like a local sandbox that the user writes to, and when done, the access is revoked safely, so that the files may be directly imported into the repository system without a copy.

“The new setup uses a new custom fuse filesystem which the user writes to, and then when this is done we can safely revoke any access to this from the user, meaning the files can be directly imported into the system repository without needing to make a copy,” says Alexander Larsson from Flatpak on their Github page.

It makes packaging flatpak a little more complicated since flatpak now need to have a user. Flatpak searches by default for a user called “flatpak.” App packagers must create a new function in the package with this username. They do get choice to use a different name by configuring as –with-system-helper-user=USERNAME.

A notable change in the new version is Flatpak now ships with a custom SELinux module (enable with –enable-selinux-module) as the Unix socket over the system bus was passed through the new code, which is forbidden by SELinux default policy. Packagers should install this module to ensure the new feature is functional and that the flatpak system help binary gets the correct SELinux context.

Additional added features include:

  • New permission –socket=pcsc for access to smart cards
  • Storage of the description, comment, icon and homepage fields from
    the flatpak repo files in the remote configuration
  • Runtime tries the determine the branch
  • Print maximum icon size when icon-validator fails
  • Override function can now disallow access to a dbus name
  • Flatpak list now has a new runtime column
SourceFLATPAK

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

22,858FansLike
447FollowersFollow
16SubscribersSubscribe

Latest Articles

Suggested

Accessing the internet from the terminal with the curl command

cURL is a command-line utility that developers use to transfer data via several network protocols. Client URL (cURL) or (curl) is considered a non-interactive web browser that uses URL syntax to transfer data to and from servers. It can pull information from the internet and display it in your terminal or save it to a file in your local drive.

Featured

More Articles Like This