arduino / arduino-create-agent

Arduino Cloud Agent
GNU Affero General Public License v3.0
418 stars 148 forks source link

Better Linux re-packaging compatibility #554

Open tinywrkb opened 4 years ago

tinywrkb commented 4 years ago

There are a few issues that prevent re-packaging and distributing Arduino Create Agent through repositories instead of the current binary installer.

There are blocking issues that prevent re-packaging:

Would be nice to have:

For my own needs, and as a POC, I packaged the Create Agent as a Flatpak here. Notice the ugly workaround in the startup script, copying the executable to the config folder.

umbynos commented 3 years ago

Hello! Thanks for the interest in the project! At the moment we are in the middle of a lift & shift process regarding the CI/CD pipeline to generate the installers. We will for sure consider the POC you made in the near future.

tinywrkb commented 3 years ago

@umbynos, thank you for your reply. I hope that you won't only make it easy for package maintainers to re-package the app but also consider distribution via Flathub as a Flatpak app.

tinywrkb commented 3 years ago

Any news about this?

Can we at least get a binary tarball release? The installer needs access to /proc/self/exe and due to the security implications of having such access, it's not available during the Flatpak installation/apply_extra step as Flatpak is running as the root user.
I'm seeing a failed readlink(/proc/self/exe) and the installer.
I can go around this issue by installing to the user Flatpak installation and not system-wide but that's not a proper solution.

Also, please consider officially distribute this app via Flathub.

Note that I'm not that sure about certificate handling. I guess maybe bind-mount ~/.pki/nss from the host, package certutil, and add support in the app for adding certificate via certutil.
I should also add that IIRC correctly Firefox already support the XDG dirs specification for the certs DB while Chrome/Chromium doesn't.