Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Flatpak introduction

105 views

Published on

Talk at FUDCon APAC 2016 in Phnom Penh on the Flatpak tool providing Linux-portable application bundles. Currently primarily for GNOME, KDE, and LibreOffice.

Published in: Software
  • Be the first to comment

Flatpak introduction

  1. 1. presented by Jens Petersen Generic standalone Linux app packages
  2. 2. About me: Jens Petersen Worked on Fedora since the beginning Red Hat i18n software engineering manager in Japan Member of the Fedora Workstation WG Disclaimer: not a Flatpak contributor/expert
  3. 3. Introduction Packaging applications for generic Linux is painful Different distributions in multiple versions, each with their own versions of libraries and packaging formats
  4. 4. Flatpack is here to change that ● Flatpak apps can be installed on different distros and versions ● Uses sandboxes to isolate binary apps from your system Flatpak assumes Linux
  5. 5. Author Flatpak is created and authored by Alex Larsson Flatpak was formerly called xdg-app https://2016.guadec.org/tag/flatpak/
  6. 6. How? http://flatpak.org/#about
  7. 7. Concepts ● Runtimes ● Bundled libraries ● SDKs ● Sandboxes http://flatpak.org/developer.html
  8. 8. Identifiers Flatpak identifies runtimes, SDKs and applications by a triple of: name/arch/branch ● name is in inverse-dns notation ○ needs to match the D-Bus name used for the application ○ Eg org.gnome.Sdk/x86_64/3.14 or org.gnome.Builder/i386/master
  9. 9. Technologies Many of the important ingredients for Flatpak are inherited from Linux containers and related initiatives: ● bubblewrap utility from Project Atomic lets unprivileged users set up and run containers, using kernel features like Cgroups, Namespaces, Bind mounts, Seccomp rules ● systemd to set up cgroups for the sandbox ● D-Bus, a well-established way to provide high-level APIs to applications ● OCI format from the Open Container Initiative, as a convenient transport format for single-file bundles ● The OSTree system for versioning and distributing filesystem trees ● Appstream metadata for Flatpak apps to show up in Gnome Software
  10. 10. Anatomy of a flatpak app http://flatpak.org/developer.html#Anatomy_of_a_Flatpak_App No package versions?
  11. 11. Sandboxes http://flatpak.org/developer.html#Working_with_the_Sandbox
  12. 12. Installation Flatpak is available in Fedora, Ubuntu, Debian, etc $ flatpak --help
  13. 13. Demo
  14. 14. Running Let’s try http://flatpak.org/index.html#users
  15. 15. Build We will try http://flatpak.org/index.html#developers
  16. 16. Tools, IDE ● flatpak-builder ● GNOME Builder and Software support flatpak ○ since 3.20, improved in 3.22
  17. 17. Alternatives Snap from Ubuntu Nix/guix AppImage
  18. 18. Thank you Contributing: ● Homepage: http://flatpak.org/ ● Mailing list: http://lists.freedesktop.org/mailman/listinfo/xdg-app ● IRC: #flatpak on Freenode ● Github: https://github.com/flatpak/flatpak

×