Subject: Re: Problems installing as root

From: "Shawn O. Pearce" <[email-masked]>
Date: Sun, 25 Feb 2007 01:12:58 -0500

walt <[email-masked]> wrote:
> I'm current as of this morning (7bd59dee...) and I'm still seeing
> two problems with doing 'make' as myself but 'make install' as
> root.
> 
> First, 'make install' as root leaves dozens of files owned by root
> in my personal source directory.  A minor nit, but inconvenient
> during the next 'make'.

Which files, specifically?  I'm sure that the following would be
built as root during 'make install':

  GIT-CFLAGS
  GIT-VERSION-FILE
  git-gui/GIT-VERSION-FILE
  git-gui/CREDITS-FILE

as these are rebuilt automatically everytime the Makefile runs,
as they are embedding version data from HEAD.  But others would be
interesting to know about.
 
> Second, this is a more recent problem with 'make install':
> make -C git-gui all
> make[1]: Entering directory `/usr/local/mnt/wa1ter/src/git/git-gui'
> GITGUI_VERSION = 0.6.GITGUI

Hmm.  You can't get the right version number for git-gui.  Do you
have tags fetched?

In order to build completely from source git-gui needs its gitgui-*
tags in refs/tags.  Junio pushed the gitgui-0.6.1 tag when he merged
that version into `maint`.

> make[1]: Leaving directory `/usr/local/mnt/wa1ter/src/git/git-gui'
> make[1]: Entering directory `/usr/local/mnt/wa1ter/src/git/git-gui'
> /bin/sh ./CREDITS-GEN
> error: Cannot locate authorship information.
> make[1]: *** [CREDITS-FILE] Error 1

Same error as above.  Only this time it made the build stop, rather
than assuming some default version (0.6.GITGUI).
 
> Now, CREDITS-FILE was generated during 'make' (I checked) so there
> was no need to generate it again during 'make install', yes?

Odd.  We created the CREDITS-FILE during `make` but then barfed
during `make install` by acting like we cannot locate the gitgui tag?

What does `git tag -l | grep gitgui-` give you when run as root?

As a workaround you may be able to copy `git-gui/CREDITS-FILE` to
`git-gui/credits`, then run `make install`.  CREDITS-GEN defaults
to the credits file, as that is shipped in the tarfile.

-- 
Shawn.