GNU bug report logs -
#67240
dev: “make” of Guix fails, non-existent .git/hooks directory
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#67240: dev: “make” of Guix fails, non-existent .git/hooks directory
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 67240 <at> debbugs.gnu.org.
--
67240: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67240
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi,
Simon Tournier <zimon.toutoune <at> gmail.com> writes:
> Hi,
>
> On a very fresh install of a system, I have just cloned the Guix
> repository then run the dance ./bootstrap, ./configure and make. It
> fails because:
>
> cp: cannot create regular file '.git/hooks/pre-push': No such file or directory
> make[2]: *** [Makefile:7454: .git/hooks/pre-push] Error 1
> make[2]: Leaving directory '/home/simon/src/guix/guix'
> make[1]: *** [Makefile:6137: all-recursive] Error 1
> make[1]: Leaving directory '/home/simon/src/guix/guix'
> make: *** [Makefile:4253: all] Error 2
>
> In the file Makefile.am, nothing check that the directory .git/hooks
> exists before copying to it. By default, it does not seem created. At
> least, it was not with a fresh clone using Git from Guix revision
> fc6bdaa.
It should, according to [0]:
"When you initialize a new repository with git init, Git populates the
hooks directory with a bunch of example scripts, many of which are
useful by themselves [...]"
I believe 'git clone' calls 'git init' under the hood.
[0] https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks.html
It also appears to do that, even using the older Guix commit you
provided:
$ guix time-machine -q --commit=fc6bdaa -- shell --pure git nss-certs \
-- git clone https://git.savannah.gnu.org/git/guix.git /tmp/guix
$ ls /tmp/guix/.git/
branches/ config description HEAD hooks/ index info/ logs/ objects/ packed-refs refs/
As you can see; the 'hooks' directory is there.
> I propose this patch attached.
>
> diff --git a/Makefile.am b/Makefile.am
> index cbc3191dfc..6e9a22fae5 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1170,6 +1170,7 @@ cuirass-jobs: $(GOBJECTS)
> # Git auto-configuration.
> .git/hooks/pre-push: etc/git/pre-push
> $(AM_V_at)if test -d .git; then \
> + mkdir -p .git/hooks; \
> cp etc/git/pre-push .git/hooks/pre-push; \
> fi
If you could come up with a reproducer, I don't mind applying such a
change, but so far it seems unnecessary?
I'm tentatively closing this old report.
--
Thanks,
Maxim
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Hi,
On a very fresh install of a system, I have just cloned the Guix
repository then run the dance ./bootstrap, ./configure and make. It
fails because:
--8<---------------cut here---------------start------------->8---
cp: cannot create regular file '.git/hooks/pre-push': No such file or directory
make[2]: *** [Makefile:7454: .git/hooks/pre-push] Error 1
make[2]: Leaving directory '/home/simon/src/guix/guix'
make[1]: *** [Makefile:6137: all-recursive] Error 1
make[1]: Leaving directory '/home/simon/src/guix/guix'
make: *** [Makefile:4253: all] Error 2
--8<---------------cut here---------------end--------------->8---
In the file Makefile.am, nothing check that the directory .git/hooks
exists before copying to it. By default, it does not seem created. At
least, it was not with a fresh clone using Git from Guix revision
fc6bdaa.
I propose this patch attached.
[p.patch (text/x-diff, inline)]
diff --git a/Makefile.am b/Makefile.am
index cbc3191dfc..6e9a22fae5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1170,6 +1170,7 @@ cuirass-jobs: $(GOBJECTS)
# Git auto-configuration.
.git/hooks/pre-push: etc/git/pre-push
$(AM_V_at)if test -d .git; then \
+ mkdir -p .git/hooks; \
cp etc/git/pre-push .git/hooks/pre-push; \
fi
[Message part 6 (text/plain, inline)]
Cheers,
simon
This bug report was last modified 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.