threads / discuss / 10808

Installing without rebuilding

Subject: Installing without rebuilding

## tl;dr

3 messages between Nov 11, 2007 and Nov 12, 2007.

replies: 2people: 2as markdown or json

Brian Gernhardt· Nov 11, 2007, 16:49 UTC · lore
Git has a very clever Makefile.  Sometimes its a little overly clever.
1) I use stow to manage my /usr/local directory.  With many other  
programs I am able to build with a prefix of /usr/local and install  
with a prefix of /usr/local/stow/$program.  Git detects a change in  
the build variables and recompiles pretty much everything.
2) If I remove the old copy of git before installing the new, git will  
notice this and again start a (smaller) recompile because the GIT- 
VERSION-FILE file changes from something detailed like  
"1.5.3.5.622.g6fd7a" to "1.5.3.GIT".

Is there a way to tell git to be a bit less clever and just install the already compiled program? If not, would changing the Makefile to read something like the following be accepted?

----- 8< -----
install: all install-dumb
install-dumb: # No rebuild!
   # Current install process
----- 8< -----
~~ Brian
Benoit Sigoure· Nov 11, 2007, 16:55 UTC · re: Brian Gernhardt · lore

Re: Installing without rebuilding

On Nov 11, 2007, at 5:49 PM, Brian Gernhardt wrote:
Show 24 quoted lines
> Git has a very clever Makefile.  Sometimes its a little overly clever.
>
> 1) I use stow to manage my /usr/local directory.  With many other  
> programs I am able to build with a prefix of /usr/local and install  
> with a prefix of /usr/local/stow/$program.  Git detects a change in  
> the build variables and recompiles pretty much everything.
>
> 2) If I remove the old copy of git before installing the new, git  
> will notice this and again start a (smaller) recompile because the  
> GIT-VERSION-FILE file changes from something detailed like  
> "1.5.3.5.622.g6fd7a" to "1.5.3.GIT".
>
> Is there a way to tell git to be a bit less clever and just install  
> the already compiled program?  If not, would changing the Makefile  
> to read something like the following be accepted?
>
> ----- 8< -----
>
> install: all install-dumb
>
> install-dumb: # No rebuild!
>   # Current install process
>
> ----- 8< -----

I also stow git (which doesn't come with a make uninstall grrrrrr) and what I do is that I dropped the dependency of `install' on `all'. Also, I always install the new version before removing (stow - D) the previous one.

Cheers,
-- 
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory
Brian Gernhardt· Nov 12, 2007, 22:33 UTC · re: Brian Gernhardt · lore

Re: Installing without rebuilding

On Nov 11, 2007, at 11:49 AM, Brian Gernhardt wrote:
> Git has a very clever Makefile.  Sometimes its a little overly clever.

I found a way around the Makefile cleverness. It's ugly, but it requires no changes to the existing Makefile. I'm posting it in case anyone finds this thread trying to do what I'm doing. My nieve suggestion fails, BTW, because git-gui's Makefile does the same cleverness.

----- 8< -----

# Install ignoring version changes, etc. ignore="-o GIT-VERSION-FILE -o GIT-CFLAGS -o GIT-GUI-VARS" install="$ignore prefix=/usr/local/stow/git" gitgui="$install gitexecdir=/usr/local/bin" sudo make $install NO_TCLTK=Yes install install-doc sudo make $gitgui -C git-gui install

----- 8< -----

Why do I have to go through so many hoops just to install what I've already compiled?

~~ Brian

← back to recent threads