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

Re: Does git belong in root's $PATH?

From
Sam Ravnborg <sam@ravnborg.org>
Date
Jan 7, 2006, 23:01 UTC
Message-ID
<20060107230130.GA8335@mars.ravnborg.org>
In-Reply-To
<Pine.LNX.4.64.0601071023250.3169@g5.osdl.org>
On Sat, Jan 07, 2006 at 10:31:52AM -0800, Linus Torvalds wrote:
Show 19 quoted lines
> 
> 
> On Sat, 7 Jan 2006, walt wrote:
> >
> > When updated my kernel this morning, the same way I've been doing
> > it for many months, I noticed that the -gxxxxxxx localversion
> > string was missing from the new kernel's name.
> > 
> > I finally figured out that this happened because /usr/local/bin
> > is not in my root's $PATH, and the setlocalversion script depends
> > on git.  (The only thing I do as root is 'make install').
> 
> Ok, sounds like a build buglet to me. If you've done a "make" as a regular 
> user, and just do a "make install" as root, I'd argue that the "make 
> install" should do as little as humanly possible, and literally just 
> install the kernel. If it starts changing the version, that sounds a bit 
> fishy.
> 
> Sam, anything we can do?

Today kbuild uses same method to build KERNELRELEASE no matter what target is used, and I recently committed a change that used git tools as replacement for direct manipulation with .git/* What I did not realise was that we now require git during make install time - which is obviously plain wrong.

I will try to look into a cleaner solution tomorrow where KERNELRELEASE is fetched somewhere else during make install time.

Show 12 quoted lines
> 
> That said:
> 
> > I suppose I'm asking a philosophical question here:  do you
> > guys install git where root can find it (as a system tool)?
> 
> I don't, but I don't use "make install" anyway, I just do "make 
> modules_install". I install the kernel by hand, I always have.
> 
> Of course, that's partly because I've always felt that "make install" does 
> too much (I think "make modules_install" is better - it really only 
> installs the already-built modules).

The big difference here is that "make modules_install" is part of kbuild, whereas "make install" almost just call installkernel which is distribution specific - and the distributions does all sort of stuff in installkernel :-(

Show 5 quoted lines
> 
> Maybe it would be best to remove the "vmlinux" dependency from "make 
> install" (so that "make install" will do exactly that: just install).  I 
> think all the documentation already tells you to do a "make" and then a 
> "make install".

I had a short chat with David Miller about something similar. What I really liked to do was to tell user if vmlinux needed an update. But the implmentation of kbuild does make this almost impossible - I have at least not seen how to do it.

When I during early 2.6.12 removed the dependency on vmlinux from the install target people were complaining that there scripts broke and the solution that was implmented was a new target: "make kernel_install" and "make install" got back the vmlinux dependency.

Only difference between the two are that "make kernel_install" does NOT have vmlinux as prerequisite. This was btw only done for i386 and the only other architecture that have kernel_install is parisc with a vmlinux dependency.

So no, I'm very unlikely to remove the vmlinux dependency from the "make install" target - it results in too many suprises.

Show 7 quoted lines
> 
> The other make targets really _are_ different: "make fdimage" depends on 
> vmlinux, but that's because it literally just builds the image. "make 
> install" is special.
> 
> Sam, what say you? I forget what the kbuild mailing list is, but maybe 
> you can forward this suggestion there..

These days it is named linux-kernel@vger.kernel.org ;-) kbuild-devel@lists.sourceforge.net is seldom used though I still monitor it. Talked with mec about discontinue it but he liked to keep it araound. He is btw still moderator on that list filtering away all spam.

	Sam
Previous: H. Peter Anvin
Message 10 of 10 in “Does git belong in root's $PATH?”
  1. waltJan 7, 2006
  2. Andreas EricssonJan 7, 2006
  3. H. Peter AnvinJan 7, 2006
  4. Andreas EricssonJan 8, 2006
  5. H. Peter AnvinJan 8, 2006
  6. waltJan 8, 2006
  7. H. Peter AnvinJan 8, 2006
  8. Linus TorvaldsJan 7, 2006
  9. H. Peter AnvinJan 7, 2006
  10. Sam RavnborgJan 7, 2006

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.