Provide a dependency database/repo

Alexander Larsson alexl at redhat.com
Tue Jun 7 07:20:23 UTC 2016


On sön, 2016-06-05 at 15:40 +0200, zulu wrote:
> Hi,
> 
> thanks for this great project. Flatpak is great for users – it
> enables
> them to install/update new software without hassle. However, for a
> developer, it‘s currently pretty hard to build software that depends
> on
> other software. My project Mailnag for example depends on gtk3,
> python2
> and 11 (!) other libs which in turn depend on further libs. I don‘t
> think devs will accept that they have to read through all the build
> instructions and configure/makefile switches (--enable-feature-x) of
> each and every dependency. Currently the traditional approach of just
> specifying package names of  ready-to-go dependencies in packaging
> toolchains for the developer’s favorite distros seems to be far more
> convenient. 

Well, many of these exist in e.g. the gnome and freedesktop.org
runtime, so you might not have to bundle them, depending on what
runtime you chose (which in itself depends on what kind of long term
stability and support you need).

That said, bundling is fundamental to the way flatpak works, and we do
want to make it as easy as possible to handle. One way is the
standardizes flatpak-builder manifest format. That automates and
standardizes build scripts in a way that I hope can lead to easier
sharing of this stuff, in a way that we can push upstream to the
individual modules, so that long-term its easier for everyone to handle
bundling.

> As a solution I propose to provide a dependency database or
> repository
> that contains „dependency recipes“ for frequently used dependencies
> like python, gtk etc. Something similar to Arch Linux‘ AUR. This way,
> a
> developer simply has to specify the dependency names (like
> dependencies: gtk, python) in the json file and flatpak builder would
> look up the nasty details (like official download location, checksum,
> build commands and switches). Ideally there should also be a way for
> developers to upload/review/comment new recipes. I guess this
> approach
> would also stop all the please-provide-a-runtime-for-dependency-x
> requests for good.

Flatpak-builder is not the only way one can build a flatpak app. Its
also possible to e.g. use .deb or .rpm packages, or whatever other
method you have to compose them. All that flatpak cares about is that
you can generate the final directory tree somehow. So, yeah, higher
level tools could be made that makes dependencies easier to handle.

My initial proposal is that we have a way to easily share flatpak-
builder json manifest snippets in some central database (in fact, there
is a feature request to add include support to make this easier).


-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
       alexl at redhat.com            alexander.larsson at gmail.com 
He's a witless albino ex-con on a mission from God. She's a 
green-fingered thirtysomething barmaid with only herself to blame. They 
fight crime! 





More information about the xdg-app mailing list