Automatically install base package?

I created a flatpak package that I host in my own repo. It uses org.winehq.Wine as base package.

How can I get it so that the base package also installs if the user installs my package (similar to the runtime)?

1 Like

It shouldn’t be necessary to install the base package. Your application is based on the base package & therefore includes everything from it, see the flatpak-manifest manpage.

   base (string)
      Start with the files from the specified application. This can be used to create applications that extend
      another application.

All the files are just copied. This also means: When there is an update of the base package you must update your application, too.

Yes, that’s what I thought. However, when I install my flatpak package, it won’t work unless I also install the base package.

When I install my flatpak package without installing org.winehq.Wine and try to run it, it fails with

/app/bin/wine: No such file or directory

But that file exists. ldd /app/bin/wine gives not a dynamic executable.

After installing org.winehq.Wine it suddenly works.

Is this a bug in my manifest file, or in org.winehq.Wine or flatpak/flatpak-builder? Any help would be appreciated!

/app/bin/wine could be a script, so ldd on it will produce this.

No, it’s a binary. And after I install org.freedesktop.Platform.Compat.i386 ldd outputs the expected results.

That raises the question: How can I can make it so that org.freedesktop.Platform.Compat.i386 gets automatically installed as a dependency of my flatpak package?

I think you simply set the metadata for the runtime extension, e.g. Steam. It’s probably downloaded as long as it is not no-autodownload, see Flatpak Metadata, @[Extension NAME].