Changes to flatpak-builder on master

Alexander Larsson alexl at redhat.com
Tue Feb 21 15:35:56 UTC 2017


On Tue, 2017-02-21 at 09:49 +0100, Alexander Larsson wrote:
> On Mon, 2017-02-20 at 23:27 -0800, Christian Hergert wrote:
> > On 02/16/2017 07:12 AM, Alexander Larsson wrote:
> > > I just pushed a rework of the cache for flatpak-builder to
> > > master.
> > > It
> > > now always builds with the install directory containing files
> > > that
> > > are
> > > hardlinked into the cache. This means checking out, as well as
> > > checking
> > > in is much faster. The first since its a hardlink instead of a
> > > copy,
> > > and the second because we don't have to calculate sha256 checksum
> > > on
> > > commit for the files that are already in the cache.
> > > 
> > > However, since the files are in the cache it is absolutely
> > > forbidden to
> > > do in-place modifications of them, as it would break the cache
> > > ostree
> > > repo. So, we use the rofiles-fuse filesystem to expose a copy of
> > > the
> > > checkout where all hardlinked files are read-only. This required
> > > some
> > > fixes in flatpak-builder where we did in-place editing, and it
> > > *may*
> > > cause problems for third party json apps if the build of a module
> > > does
> > > in-place modifications of files from another module. This is
> > > unlikely,
> > > but *might* happen, so please test your json files.
> > 
> > It looks like maybe Python violates the use of proper rename()
> > support? 
> > easy-install.pth failures are causing Builder nightly builds to
> > fail 
> > (thanks Tristan for tracking this down since we aren't getting IRC 
> > notifications!)
> > 
> > http://sdkbuilder.gnome.org/logs/build-2017-02-20-231004/build-gnom
> > e-
> > apps-nightly-master-org.gnome.Builder-x86_64.txt
> 
> Hmm, this is not ideal. The easiest workaround would be to break the
> hardlink with a "cp foo foo.tmp; mv foo.tmp foo" call in the setup.
> 
> Ideally we should modify the python to do a proper replace though.

I'm thinking about adding a property to the module like "ensure-
writable": ["/some/file" ] that unbreaks the hardlinks, then we can
work around these issues easier for now.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
       alexl at redhat.com            alexander.larsson at gmail.com 
He's a deeply religious misogynist card sharp trapped in a world he never 
made. She's a man-hating winged research scientist living homeless in New 
York's sewers. They fight crime! 



More information about the xdg-app mailing list