-
Notifications
You must be signed in to change notification settings - Fork 268
Release pre-built binaries #2389
Description
Pre-built binaries would save some complexity and time in other CI that uses shadow (e.g. arti/tor), since those workflows could just download the binaries instead of installing all of the build dependencies and building. There are some other workarounds, such as caching built binaries, but still this might be nice.
I think it wouldn't be too difficult. For shadow itself the only runtime dependencies are glibc and glib. A pre-built binary should be usable on any system where those are present with a version no older than the ones shadow was built against. i.e. we'd want to build on the supported platform with the oldest versions of those libraries.
It'd also be useful if the shadow binary didn't depend on an absolute path. It currently sets an rpath to the absolute installation directory, which means that it would need to be in the same directory on any system. We could use $ORIGIN to make this path relative to the shadow binary though, in which case the shadow installation directory can work from wherever (e.g. /opt/shadow, ~/opt/shadow, ~/Downloads/shadow, ...).