Sparkle
Sparkle copied to clipboard
Provide proper release tarballs
Summary
The GitHub generated release tarballs of the Tags are broken since a while due to the Vendor ed25519
submodule
lacking all content in the tarball, causing the build to fail with errors like:
error: Build input file cannot be found: '/Users/epirat/Projects/VideoLAN/vlc/contrib/contrib-aarch64-apple-darwin20/sparkle/Vendor/ed25519/src/sha512.c' (in target 'ed25519' from project 'Sparkle')
Possible Fix
Make release tarballs for tags (this can be automated with GitHub actions if needed or done locally by the person making the release) with a tool like git-archive-all
and attach it to the release on GitHub.
Version
I am not sure since when this is broken, but all release tarballs autogenerated by GitHub after the ed25519
submodule was added will be affected.
See #1378. It's a "GitHub bug".
To be honest, I think I'd rather just include ed25519 dependency in our repo directly like bsdiff already is. It's a small dependency, and seems to be rather fixed and non-changing (or if it changes, it is likely us doing the change rather than upstream, similar to how we already forked bsdiff). The single submodule also slightly makes it more complicated for people cloning and building the project. The submodule also includes some unnecessary files we don't need.
We probably also have a couple of assumptions in our Distribution
target or make release
phase that assume a .git
repository is present (GitHub tarballs don't include these). I would just consider this a bug that there aren't fallbacks, though.