git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's cooking in git.git (Apr 2014, #09; Tue, 29)

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 8, 2014, 00:18 UTC
Message-ID
<536acd4578ac_3caaa612ec76@nysa.notmuch>
In-Reply-To
<rmizjit6txa.fsf@fnord.ir.bbn.com>
Greg Troxel wrote:
Show 21 quoted lines
> 
> Felipe Contreras <felipe.contreras@gmail.com> writes:
> 
> > Greg Troxel wrote:
> >> In a packaging system, dependencies are much more troublesome.
> >> Dependencies have to be declared, and the build limited to use only
> >> those declared dependencies, in order to get repeatable builds and
> >> binary packages that can be used on other systems.  Dependencies that
> >> really are required are fine.  But optional dependencies are a
> >> problem, because e.g. one doesn't want to require the presence of qt
> >> to build something (that isn't already enormous).   So if git needs
> >> mercurial and subversion installed, plus perhaps 5 other things for
> >> less popular remote helpers, that starts to be a real burden.
> >
> > It doesn't *need* them to build. The Mercurial/Bazaar dependencies are
> > optional, both at build-time and at run-time. Most distributions would
> > want to test the functionality they are distributing, and for testing
> > they do need these dependencies.
> 
> My point is that a packaging of git needs to either decide to forego
> these optional parts, or to include them, in the default case.

That is currently the case. They would be included by default, but not usable unless the *optional* dependencies are installed.

> So I'm merely trying to suggest that it's better to have a core
> package with a restrained set of dependencies, and then a way to build
> the other things independently (perhaps assuming the core is
> built/installed), each with their own dependencies.

I'm all in favor of 'make install' installing only the core of Git, and different targets for all the other parts.

However, if you take a look at any distribution's packaing of Git you would see why that wouldn't be desirable (they are full of hacks and fixes). If the build system is eventually fixed so one package can do 'make install', another 'make install-p4', another 'make install-hg' and so on, that would be great. But we are pretty far from that.

-- 
Felipe Contreras
Previous: Greg TroxelNext: Chris Packham
Message 19 of 35 in “What's cooking in git.git (Apr 2014, #09; Tue, 29)”
  1. Junio C HamanoApr 29, 2014
  2. John KeepingMay 5, 2014
  3. Felipe ContrerasMay 5, 2014
  4. John KeepingMay 5, 2014
  5. Felipe ContrerasMay 5, 2014
  6. Felipe ContrerasMay 5, 2014
  7. Junio C HamanoMay 6, 2014
  8. Felipe ContrerasMay 6, 2014
  9. Junio C HamanoMay 5, 2014
  10. Felipe ContrerasMay 6, 2014
  11. Felipe ContrerasMay 6, 2014
  12. John KeepingMay 6, 2014
  13. Felipe ContrerasMay 6, 2014
  14. Junio C HamanoMay 6, 2014
  15. Felipe ContrerasMay 6, 2014
  16. Greg TroxelMay 7, 2014
  17. Felipe ContrerasMay 7, 2014
  18. Greg TroxelMay 7, 2014
  19. Felipe ContrerasMay 8, 2014
  20. Chris PackhamMay 8, 2014
  21. Felipe ContrerasMay 8, 2014
  22. David LangMay 9, 2014
  23. Felipe ContrerasMay 9, 2014
  24. Submodule improvements (Re: What's cooking in git.git (Apr 2014, #09; Tue, 29))Jonathan Nieder, May 9, 2014
  25. Junio C HamanoMay 8, 2014
  26. Junio C HamanoMay 7, 2014
  27. Felipe ContrerasMay 7, 2014
  28. John KeepingMay 7, 2014
  29. Felipe ContrerasMay 7, 2014
  30. Junio C HamanoMay 7, 2014
  31. John KeepingMay 7, 2014
  32. Felipe ContrerasMay 7, 2014
  33. Felipe ContrerasMay 7, 2014
  34. John KeepingMay 7, 2014
  35. Felipe ContrerasMay 7, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.