Subject: Re: [PATCH 1/2] Add expat and expat-devel dependencies (for http-push) to RPM spec.

From: Andreas Ericsson <[email-masked]>
Date: Sun, 13 Nov 2005 21:36:49 +0100

Linus Torvalds wrote:
> 
> If there's some way to "suggest" ssh when installing git, that would be 
> good, but I don't think rpm has that.

It hasn't. It was designed to update software non-interactively.

> And if somebody doesn't have ssh 
> installed, they probably don't have a network, so maybe even that is 
> unnecessary.
> 

I *think* the ssh transport should work nicely over rsh as well. I don't 
have the slightest idea of where to find an rsh installation to test it 
with though.

> So depending on the curl _program_ would fall under the same harmless case 
> as depending on ssh and rsync, but the thing is, we depend on it as a 
> library, which is why we should split things up.
> 

True. But HTTP is a very simple protocol and git only uses a very small 
portion of curl's capabilities so it wouldn't be rocket-science to hack 
up some micro-replacement and always use the shipped stuff.

> 
>>Moving out the {cvs,arch,svn}-import scripts made sense because they 
>>were only faintly related to git day-to-day operations and forced some 
>>really ridiculous dependencies down users throats (git requiring 
>>subversion was a funny one...).
> 
> 
> Yes. 
> 
> NOTE! Git does actually require the "merge" program,

That depends on how it's used. If some script expects 'merge' to be 
there and does things that might break the index if it isn't, then it's 
required.

> which sometimes comes 
> with the diff3 package, and more often comes with rcs.  As with ssh and 
> rsync, it's an external program and only really required if you do 
> development (you can fast-forward something that you're only tracking 
> read-only without it), so in theory you don't absolutely need it, but we 
> do have a dependency on RCS right now due to that.
> 

It could require /usr/bin/merge instead. Seeing as people who install 
packages usually installs other things as packages too this would 
probably make more sense.

> Which is a bit strange, and sometimes wrong (the same machine that doesn't 
> have curl installed also doesn't have rcs installed, but I compile git on 
> it anyway, and it works fine, since I use that machine only as a backup 
> thing to receive git packs - in case kernel.org goes down _and_ all my 
> home machines magically turn into pumpkins, I'll still have another site 
> I can get my git repos from).
> 

Still though, be kind to the fairy godmother. ;)

> 
>>While we're on the subject of confusing; How about not naming non-core
>>packages git-core? It feels wrong to have git-core-http, git-core-cvs and
>>git-core-svn since they, strictly speaking, aren't required for core
>>operations.
> 
> 
> Yeah, that "git-core-xxx" thing is a bit strange, but on the other hand, 
> it does make it clear that they all come from the same SRPM (the 
> "git-core" SRPM) so in the end I think it's actually a good idea.
> 

The change would only mean that all packages will come from the "git" 
SRPM rather than the "git-core" SRPM so this point is moot unless there 
will ever be such a thing as the "git" SRPM to contend with (which will 
be less likely if we're it, so to speak).

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231