Removing git dependencies on perl5 and python27

Michael Gmelin freebsd at grem.de
Fri Jun 15 08:04:36 UTC 2018



> On 15. Jun 2018, at 05:57, Adam Weinberger <adamw at adamw.org> wrote:
> 
>> On Thu, Jun 14, 2018 at 8:16 PM Mahmoud Al-Qudsi <mqudsi at neosmart.net> wrote:
>> 
>> Hello list,
>> 
>> I'm probably not alone in considering git to be a core development tool,
>> perhaps just a notch or two below the C compiler. `git` and `sudo` are the two
>> packages I first install (after `pkg` itself) on any machine, and in many
>> cases that suffices to get a basic development environment going.
>> 
>> However, the git package currently brings in a host of unwanted dependencies,
>> and I *believe* they can be done without.
>> 
>> This is the complete dependency graph for the git package [0] (generated with
>> the newly-minted pkg-graph [1]). It pulls in perl5 and python27, both sizeable
>> packages and both not required to use git.
>> 
>> While git can be compiled without some of the additional dependencies such as
>> expat or pcre, this results in a "crippled" git lacking in some core features,
>> and requires special build-time definitions like NO_EXPAT or NO_PCRE passed to
>> the git Makefile. The other dependencies like curl, pcre, and gettext are also
>> relatively small and typically part of even the most minimal system, but perl5
>> and python27 are full-blown runtimes for interpreted languages that have
>> fallen out of favor and have been successfully stripped from FreeBSD core (and
>> even many Linux distributions).
>> 
>> I'm sure these packages are not just there to have a good time and they serve
>> some purpose and enable a subset of the git functionality, but my question
>> here today is whether that functionality is worth its weight in dependencies,
>> and whether the ports team is open to seeing the git package stripped of these
>> dependencies.
>> 
>> (Obviously the option of adding a "git-lite" package à la "vim-lite" also
>> exists, but I think it's fair to say that would be an ugly and unnecessary
>> compromise.)
>> 
>> [0]: https://goo.gl/hozu1b
>> [1]: https://github.com/neosmart/pkg-graph
> 
> Agreed. I'd personally much rather see small default packages and
> -kitchensink slaves, than massive default packages and -lite slaves.
> It's always struck me as odd that our git package comes with CVS and
> Perforce support.
> 
> # Adam
> 
> 

Last time I checked, building git without Perl broke submodules (which is a core feature that should work with a default installation).

Michael




More information about the freebsd-ports mailing list