Re: F27 System Wide Change: Graphical Applications as Flatpaks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday, 18 July 2017 at 17:15, Owen Taylor wrote:
> On Tue, 2017-07-18 at 15:25 +0200, Dominik 'Rathann' Mierzejewski
> wrote:
> > On Tuesday, 18 July 2017 at 13:39, Mathieu Bridon wrote:
> > > On Tue, 2017-07-18 at 13:23 +0200, Dominik 'Rathann' Mierzejewski
> > > wrote:
> > > > By the way, I can't figure out how to look inside a Flatpak and
> > > > review its contents. Could someone provide some pointers?
> > > 
> > > On the repo all you have is an object store (much like Git's
> > > .git/objects/ folder), but if you install the app you will also get
> > > a
> > > checkout:
> > > 
> > >   $ ls
> > > ~/.local/share/flatpak/app/org.gnome.Calendar/current/active/files/
> > >   bin  lib  manifest.json  share
> > > 
> > > (that's because I installed the app with --user, if you install it
> > > system-wide then it's under /var/lib/flatpak/app/...)
> > > 
> > > The manifest.json file is a recipe for how the app was built (like
> > > a
> > > spec file), which helps reproducing builds.
> > > 
> > > The contents of that files/ directory are what gets mounted as
> > > /app/ in
> > > the sandbox.
> > 
> > In other words, it's not possible to inspect a binary flatpak without
> > installing it. With RPMs, I can check what files will land on my
> > system and where, and also see what the scriptlets do. I can also
> > extract and inspect individual files. Am I missing something and
> > worrying unnecessarily that I can't do the same with flatpaks?
> 
> Well, the nice thing is that:
>  - There are no scriplets with Flaptaks - no arbitrary code execution
> at install time.
>  - There is no ability for Flatpaks to drop arbitrary files at
> arbitrary locations on your system.

That is good to know, assuming there are no bugs that can be exploited
by evil flatpak creator to do just that. ;) At least with RPM, we *know*
it's possible by design.

The files themselves are still arbitrary, even if the locations aren't.
How do I know where their files will land?

> The idea is that you don't *have* to inspect a flatpak before
> installation to make sure that it's not dangerous.

I don't *have* to inspect an RPM (coming from Fedora), either, but I sure
like having that ability.

> That being said, we definitely should have well documented, easy to use
> tooling, for downloading, copying, and manipulating Flatpaks without
> installing them. You can get it done, but you need to know quite a bit
> about ostree.
> 
> The 'skopeo' tool from Project Atomic may be the right place for that
> type of manipulation - it already has a lot of the right pieces.

Another thing: RPM has the ability to run queries (-qp) against remote
package files exactly the same as for local ones. I don't see an option
to do the same with flatpak without adding a remote repo and installing
it first:

$ flatpak info "https://git.gnome.org/browse/gnome-apps-nightly/plain/gnome-weather.flatpakref?h=stable";
error: Invalid id https:: Name can't contain :

$ flatpak --user remote-add gnome https://sdk.gnome.org/gnome.flatpakrepo
$ flatpak --user remote-add gnome-apps https://sdk.gnome.org/gnome-apps.flatpakrepo
$ flatpak info org.gnome.Weather
error: org.gnome.Weather master not installed

$ flatpak remotes
Name       Options
gnome      user   
gnome-apps user   
$ flatpak remote-ls gnome-apps
error: Remote "gnome-apps" not found

Now that's confusing. It shows me configured remotes, but then says
they're not found. Shall I file a bug?

Even after installation, I don't get a file manifest:

$ flatpak -o -s -m -e -v info org.gnome.Weather
XA: No installations directory in /etc/flatpak/installations.d. Skipping
gnome-apps 10.5 MB
[Application]
name=org.gnome.Weather
runtime=org.gnome.Platform/x86_64/3.24
sdk=org.gnome.Sdk/x86_64/3.24
command=/app/share/org.gnome.Weather/org.gnome.Weather.Application

[Context]
shared=network;ipc;
sockets=x11;wayland;
filesystems=xdg-run/dconf;~/.config/dconf:ro;

[Session Bus Policy]
ca.desrt.dconf=talk

[System Bus Policy]
org.freedesktop.GeoClue2=talk

[Environment]
DCONF_USER_CONFIG_DIR=.config/dconf

[Extension org.gnome.Weather.Locale]
directory=share/runtime/locale
autodelete=true

[Extension org.gnome.Weather.Debug]
directory=lib/debug
autodelete=true
no-autodownload=true

Extension: runtime/org.gnome.Weather.Locale/x86_64/stable
ID: org.gnome.Weather.Locale
Origin: gnome-apps
Commit: 4e39959a470f1e8a77f22bd57e91fc268a09f3fc7b894c3c50dfa8f28c618585
Installed size: <512 bytes
Subpaths: /en

Another thing that surprised me: libgnomedesktop doesn't seem to be part
of org.gnome.Platform runtime and is bundled with the application
instead:
$ ls -l .local/share/flatpak/app/org.gnome.Weather/x86_64/stable/cd5dad9f9fa301cfc8ee6cdd42985294461a2b50f79ff5ea0f142ae88f571196/files/lib/libgnome-desktop-3.so.12.2.0
-rwxr-xr-x. 2 rathann rathann 232984 Jan  1  1970 .local/share/flatpak/app/org.gnome.Weather/x86_64/stable/cd5dad9f9fa301cfc8ee6cdd42985294461a2b50f79ff5ea0f142ae88f571196/files/lib/libgnome-desktop-3.so.12.2.0
$ ls -l .local/share/flatpak/runtime/org.gnome.Platform/x86_64/3.24/917abdce38d8852606b5ad7311052cdbd083b223f8c39d8567880b23af3c3e52/files/lib/libgnome*
ls: cannot access '.local/share/flatpak/runtime/org.gnome.Platform/x86_64/3.24/917abdce38d8852606b5ad7311052cdbd083b223f8c39d8567880b23af3c3e52/files/lib/libgnome*': No such file or directory

(What's wrong with the file timestamp, by the way?)

And... another:
$ flatpak list
Ref                             Options
org.gnome.Weather/x86_64/stable user,current
org.gnome.Platform/x86_64/3.24  user,runtime
$ flatpak uninstall org.gnome.Platform/x86_64/3.24
error: org.gnome.Platform 3.24 not installed

(Again, huh?)

$ flatpak --user uninstall org.gnome.Platform/x86_64/3.24
Uninstalling org.gnome.Platform/x86_64/3.24
Uninstalling org.gnome.Platform.Locale/x86_64/3.24

WTF? Dependencies, anyone?

And yes, I'll go and file bugs, but these are basic things and I can't
imagine why they weren't noticed and fixed before. Flatpak has been
available in Fedora for over a year now. If it wants to be a serious
contender as an application distribution mechanism, it has to do much
better than that.

Regards,
Dominik
-- 
Fedora http://fedoraproject.org/wiki/User:Rathann
RPMFusion http://rpmfusion.org
"Faith manages."
        -- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux