Closed amano-kenji closed 1 year ago
tarball source code is provided by github, we can't include the submodule in it. You can clone the repo and checkout the release tag with --recursive option to get the submodule in one sweep.
git clone https://github.com/haven-protocol-org/haven-main.git --recursive -b v3.0.2
You can manually upload tarballs with git submodules to https://github.com/haven-protocol-org/haven-main/releases
We don't want to do manual stuff as it's centralized process and we are trying to avoid it.
The problem is that package maintainers are stuck doing the manual process.
Now, the manual process has to be repeated by all linux distributions that want to distribute haven-main package.
Because the manual process wasn't done by the upstream, multiple downstream maintainers have to exert duplicated efforts.
This manual thing is best done at the upstream.
The real problem is that because I don't know cmake, I don't know which git submodules are optional.
Some git submodules are skipped, and system libraries are used. I still don't understand why some libraries are optional git submodules.
This is really confusing for package maintainers. It is more confusing than only using system libraries or only using git submodules.
Because I believed in haven protocol, I somehow figured out how to build it. However, the build process really needs to be simplified. Either, make everything git submodules, or make everything system dependencies.
Most developers don't really care much about haven protocol, so they won't exert effort to figure out a right way to build linux distribution package for haven-main.
I strongly suggest depending only on system libraries. At best, git submodules add manual labor for upstream or downstream. At worst, they make it difficult to understand how to build something. Also, cmake is confusing for many package maintainers. Meson and ninja are far simpler than cmake for linux package maintainers.
. System libraries only . Replace cmake with meson and ninja if possible.
Because release tarballs don't include git submodules, it's painful to build haven-main.