Is it possible to get my application accepted at Flathub?

Dec 16, 2024
X

Hello, I developed Qocker few weeks/months ago and I finish the flatpak packaging but I’m facing issue in build lint because I need my application to have access to Docker socket

$ flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest ./flatpak/sa.sy.qocker.json
F: Not sharing "/usr/share/icons" with sandbox: Path "/usr" is reserved by Flatpak
{
   "errors": [
"finish-args-arbitrary-dbus-access"
   ],
   "info": [
"finish-args-arbitrary-dbus-access: finish-args has socket access to full system or session bus"
   ],
   "message": "Please consult the documentation at https://docs.flathub.org/docs/for-app-authors/linter"
}

Qocker is open source application: GitHub - xlmnxp/Qocker: Qocker is a user-friendly GUI application for managing Docker containers. Built with PyQt5, it provides an intuitive interface for viewing and interacting with your Docker containers.

C

What information do you miss in the linked documentation?

X
Replying to #2

I’m not missing anything but I’m worry that Qocker will not be accepted because it connect to docker socket directly

C

I’d say that’s what the review process is for. You start the discussion by reasonable explaining why you need the exception.

I’m not doing any reviews, so I can’t say anything for sure:
But the linter isn’t complaining about the docker socket, it’s complaining about the session-bus. I suspect you’ll be asked what exactly you need it for & why you aren’t limiting it:

finish-args-arbitrary-dbus-access

Exceptions allowed: Yes, on a case-by-case basis

The finish-args in the manifest has --socket=session-bus or --socket=system-bus.

This must not be used except for very specific cases. Please follow the Flatpak permission guide for more information and find out the specific DBus names required using --log-session-bus.

Other applications interacting with docker don’t require it.

X
Replying to #4

look like I need socket=session-bus to open system terminal to container shell

R
Replying to #6

You can audit what is actually needed/called, refer to Debugging - Flatpak documentation