on Tue Feb 05 2013, joewood-AT-live.com wrote:
> Yes, I understand the issue with submodules. C++ desperately needs a
> good package management solution. The problem I think with this
> solution as it stands is the additional dependencies.
What "additional dependencies?"
> Now that Boost is modularized in GitHub couldn't a package manager
> use something like the libgit2 library to pull down the submodules
> directly?
Yes it could, and it can. Of course, that's a dependency also. It
could also use dulwich, which is pure Python.
Using 0install has the advantage of serving the entire spectrum of
constituents, from Boost developer to end-user. It can download and
"install" source tarballs from GitHub, pre-built binary libraries,
dependencies such as CMake, and more.
> As long as each repo had a declaration of the submodule dependencies
> somewhere in a file it should be relatively easy to pull down the code
> and do a git subtree merge automatically
http://git-scm.com/book
> /en/Git-Tools-Subtree-Merging.
I don't want subtree merges. I want to keep the source bases of
independent libraries modular and independent. You can write that tool
yourself if you want it for some reason, though ;-)
> This would avoid the duplication issues,
What "duplication issues?"
> combine to a single directory structure and allow you to run regular
> cmake.
Submodules don't cause a problem for regular cmake.
> On Tuesday, February 5, 2013 11:04:04 AM UTC-5, Daniel Pfeifer wrote:
>
> 2013/2/5 <
joe...@live.com>:
> > But switching to a different installation mechanism is probably
> a
> > show-stopper in an Enterprise environment.
> > What role is 0Install playing here? Could you just pull the
> submodules
> > together and run CMake?
> > Excuse the n00b question.
>
> Submodules (assuming we are talking about Git submodules) will
> not
> work. Imagine your project depends on Boost.Filesystem and
> Boost.System; so you add these two as submodules. Now,
> Boost.Filesystem also depends on Boost.System; so there is a
> submodule
> for it. You will end up with two copies of Boost.System, right?
> What
> about circular dependencies?
> We need to analyze the full graph of dependencies and then turn
> that
> graph into a flat hierarchy.
>
> --
> You received this message because you are subscribed to the Google
> Groups "ryppl-dev" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to
ryppl-dev+...@googlegroups.com.
> For more options, visit
https://groups.google.com/groups/opt_out.
>
>
>
>
--
Dave Abrahams