micro-nova / AmpliPi

Whole House Audio System 🔊
https://amplipi.com
GNU General Public License v3.0
284 stars 23 forks source link

Create a deb repository for compiled dependencies #472

Open rtertiaer opened 1 year ago

rtertiaer commented 1 year ago

There are a couple issues with binary/system dependency management at the moment (read: not python dependencies.)

To address these concerns, we should cross-compile and package our dependencies that are not available upstream, and host them in our own repository. This should also make it easier to automate image builds, #471 .

Acceptance criteria:

linknum23 commented 1 year ago

Since this isn't really documented anywhere: Binaries packaged with amplipi are mostly generated by: bin/generate_bins.bash (I think spotifyd is manually compiled right now) Binaries compiled by amplipi at install time like redsea are found in the scritps generated by scripts/configure.py

rtertiaer commented 9 months ago

Most of the work here is done, save for testing. A lot of binaries have been packaged and uploaded in a GCP bucket using reprepro, managed & documented in a currently private git repository (I'll make it public once it's ship-able, but for Those In The Know :tm: it's at https://github.com/micro-nova/micronova-deb-repo ). We just need to actually install the bucket as a repo on a box and extensively test each built binary.

I think I'd also like to perhaps distribute this repo as a .deb installable itself, so it can be versioned (ie, if we move away from GCP) and also explicitly dependent on our keyring signature, but that feels like extra credit.

rtertiaer commented 8 months ago

Not explicitly targeting this for 0.4 but 0.5. May do this anyways in the course of producing images for 0.4.