Sorry, I've closed this with the libtool one. The attached patch fixes this one too, should I push it to master (as the last change for git) or to core-updates or staging (as it might seem looking at the dependencies)?
Happy hacking! Miguel
From 9f0e9eea6d7c338fba234c2f8935ba76b1d94b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= <rosen644...@gmail.com> Date: Mon, 16 Nov 2020 19:06:40 +0100 Subject: [PATCH] gnu: git: Add phase to restore hooks shebang. Fixes <https://bugs.gnu.org/25508>. * gnu/packages/version-control.scm (git)[arguments]: New phase restore-sample-hooks-shebang. --- gnu/packages/version-control.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 3e46a6162b..1842528ff6 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -391,6 +391,16 @@ as well as the classic centralized workflow.") (install-file "contrib/subtree/git-subtree.1" (string-append subtree "/share/man/man1")) #t))) + (add-after 'install 'restore-sample-hooks-shebang + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/share/git-core/templates/hooks"))) + (for-each (lambda (file) + (format #t "restoring shebang on `~a'~%" file) + (substitute* file + (("^#!.*/bin/sh") "#!/bin/sh"))) + (find-files dir ".*")) + #t))) (add-after 'install 'split (lambda* (#:key inputs outputs #:allow-other-keys) ;; Split the binaries to the various outputs. -- 2.29.2
Leo Famulari <l...@famulari.name> writes: > From: John Darrington <j...@darrington.wattle.id.au> > Subject: Not patching shebang in git hook samples ? > To: guix-de...@gnu.org > Date: Sun, 22 Jan 2017 14:01:24 +0100 (3 years, 42 weeks, 4 days ago) > > The git package ships with a number of sample hook files. These are shell > scripts and > therefore the #!/bin/sh line gets substituted at build time. > > However these files get installed into every git repostory that is created, > and users > are invited to use them as templates for their own hooks. > > This will be fine until both git and bash are updated. Now the original bash > is free > to be garbage collected. If that happens, the path: > #!/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/sh > will no longer exist. > > I suggest what we turn off the shebang patching for the files in > share/templates for git. > > J'
signature.asc
Description: PGP signature