Ardumower / Sunray

Ardumower Sunray
72 stars 58 forks source link

Provide DEB Package and APT Repo #163

Open schrieveslaach opened 2 weeks ago

schrieveslaach commented 2 weeks ago

Currently, I'm trying to get my Alfred up and while doing so I'm running into issues (and still no success mowing the lawn). One thing that bogs me is the software handling process. For example, images are provided via HTTP (not HTTPS) or the update process via sunray doesn't work (get some cURL error). Also, the image provided on the preconfigured SD card was running a Linux 4.x kernel.

These things worry me from my software development background (software integrity, usability, etc.) and I want to help to make that better.

Having an APT repository a.k.a. Debian Repository for the Sunray software would improve these aspects. For example, there are ready made integrity checks and also improves the installation process.

I imaging that one should be able to take a stock RaspberryPI OS and adds an entry to the APT sources and the Sunray application can be installed and enabled with following commands:

# add the entry to APT sources
apt update
apt install sunray-alfred
systemctl enable sunray
systemctl start sunray

To save one from maintaining the APT repo and hosting, one could use some GitHub actions and hosts it on GitHub pages (like shown here).

I'm willing to help in this process. Please, let me know what you think.

greymfm commented 2 weeks ago

I like the idea... but what about custom robot builds - 95% of my robots (Alfred, modified Alfred with LiDAR, owlMower XL, ...) use custom sunray builds (with custom config files, so custom binaries) - how does that fit here...

schrieveslaach commented 2 weeks ago

When I compare some of the config files in the alfred directory it appears to me that these C header files could turned into actual config files that could live in the /etc/sunray directory and be more compliant with the Linux Filesystem Hierarchy Standard. I could imaging that there is an initial setup Guide that let's you configure this.

Meanwhile I experimented with GitHub actions in a personal fork and I was able to build a DEB package with CI (see here).

Unfortunately, I discovered that the Banana PI M4 seems to be incompatible with Debian based distros (or at least the documentation is just covering dated versions). Can you explain why the Banana PI M4 is the default choice for Alfred RKT and do you know if there is a way to install a recent Linux distro?

Are you open to have a video chat about the topic? There are also security issue I see in the Sunray webapp that worry me too.