I have many problems with the current build system. The main drawback however is that one cannot just develop this on a local workstation. The scripts mix the installation of dependencies with the actual build and they expect the environment to be reset every time, however do not build in a temporary directory. They also install stuff into the system environment.
I would at least add a Docker-based ephemeral build environment to
a) save us from reinstalling everything every time (i.e., cache the dependencies in the image)
b) spin up a container per build, ensuring clean builds
I could also imagine changing the Makefile to no longer hard-depend on libsquashfuse etc. installed in the system.
I have many problems with the current build system. The main drawback however is that one cannot just develop this on a local workstation. The scripts mix the installation of dependencies with the actual build and they expect the environment to be reset every time, however do not build in a temporary directory. They also install stuff into the system environment.
I would at least add a Docker-based ephemeral build environment to
a) save us from reinstalling everything every time (i.e., cache the dependencies in the image) b) spin up a container per build, ensuring clean builds
I could also imagine changing the Makefile to no longer hard-depend on libsquashfuse etc. installed in the system.