-
-
Notifications
You must be signed in to change notification settings - Fork 274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recipes for packages with submodules #619
Comments
I think it is probably OK to use git sourses in cases like these. |
I think it is probably OK to use git sources in cases like these.
I agree - of the authors are using git to release, then that's what we
should follow.
One reason git is frowned upon is that we want t use the source as released
by the authors -- which ideally is a tarball of some sort (if even a
tarball of a git tag)
…-CHB
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov
|
I am renegging on my previous opinion. I think this is probably still not OK. |
Dependencies should be built separately and linked dynamically instead of revended and linked statically. If the project is incompatible with a stable release of the dependency project (the one revended in a submodule), then you can list multiple URL sources and unpack them into the correct folder. You will have to manually update the submodules with each new release.
|
Some projects, for example
osqp
andshogun
, don't have release tarballs that contain all of the source needed to build: they use github as the release mechanism and use submodules, but github release tarballs just leave submodules as empty folders.One option to handle this is to use a git source, but that's frowned upon.
You can instead deal with this in conda-build 3 with multiple sources without too much difficulty with multiple sources in cb3; for example. But:
The submodule version needs to be updated appropriately with the new release version. The bot of course doesn't know how to do this, so you need to (a) remember to do it, (b) go look up what version is actually needed, and (c) get the checksum yourself. If you forget to do this, depending on how the submodule is used the build may or may not fail.
If submodules are added in a new release, you need to go figure that out (osqp v0.4.0 osqp-feedstock#2). Same for if they're removed or changed.
Some things that might make this nicer:
Thoughts?
The text was updated successfully, but these errors were encountered: