guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25966: [PATCH 2/2] gnu: gitolite: Fix shebangs in hooks.


From: Leo Famulari
Subject: bug#25966: [PATCH 2/2] gnu: gitolite: Fix shebangs in hooks.
Date: Tue, 14 Mar 2017 13:39:06 -0400
User-agent: Mutt/1.8.0 (2017-02-23)

On Sun, Mar 05, 2017 at 04:24:14PM +0100, Clément Lassieur wrote:
> address@hidden writes:
> 
> > +                  (add-before 'install 'fix-hooks-shebangs
> > +                    (lambda* (#:key inputs #:allow-other-keys)
> > +                      (let ((perl (string-append (assoc-ref inputs "perl")
> > +                                                 "/bin/perl")))
> > +                        ;; The files in 'lib/Gitolite/Hooks' keep 
> > references to
> > +                        ;; '/usr/bin/perl', without this fix it is 
> > impossible to
> > +                        ;; to run gitolite in production.
> > +                        (substitute* (find-files "src/lib/Gitolite/Hooks" 
> > ".*")
> > +                          (("/usr/bin/perl")
> > +                           perl))
> > +                        #t)))
> 
> This patch introduces references to the store in files installed by
> "gitolite setup" command.  Those files are installed once and for all.
> So for example .gitolite/hooks/common/update's shebang is
> #!/gnu/store/vcjvzmdy5091bklv73rx9nc0yvlk12yv-perl-5.24.0/bin/perl.  But
> then what happens when perl is upgraded, and Guix garbage collected?  My
> understanding is that the shebang won't work anymore, and gitolite will
> be broken.
> 
> One can use instead special-files-service-type, which allows to have
> /usr/bin/perl working.  But it won't work anymore with this patch.

Ah, seems like the same issue as with the Git hooks.

> I suggest we revert it, but I might be wrong.  WDYT?

If these hooks are intended to be copied out of /gnu/store, then the
change should be reverted until we have a better solution.

I think it's better for the hook scripts to fail the first time than for
them to fail later, after a seemingly unrelated action like `guix gc`.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]