Package: guix-patches;
Reported by: ashish.is <at> lostca.se
Date: Sun, 1 Dec 2024 23:19:02 UTC
Severity: normal
Tags: patch
Done: Hilton Chain <hako <at> ultrarare.space>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: ashish.is <at> lostca.se Subject: bug#74639: closed (Re: [PATCH v2] gnu: make-gitolite: Fix inputs references) Date: Sun, 08 Dec 2024 07:50:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report #74639: [PATCH v2] gnu: make-gitolite: Fix inputs references which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 74639 <at> debbugs.gnu.org. -- 74639: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74639 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Hilton Chain <hako <at> ultrarare.space> To: ashish.is <at> lostca.se Cc: 74639-done <at> debbugs.gnu.org Subject: Re: [PATCH v2] gnu: make-gitolite: Fix inputs references Date: Sun, 08 Dec 2024 15:45:27 +0800Hi Ashish, On Mon, 02 Dec 2024 17:48:23 +0800, ashish.is <at> lostca.se wrote: > > From: Ashish SHUKLA <ashish.is <at> lostca.se> > > * gnu/packages/version-control.scm (make-gitolite)[#:phases] > <patch-scripts,patch-source,wrap-scripts>: Update functions to reference > inputs from the inputs alist, instead of hardcoding. > > Change-Id: Ia2468235b43c257ee1816d19325671d373ed2870 > --- > Hi Hilton, > > Thanks for your comments. The patch is amended to incorporate your suggestions. > > gnu/packages/version-control.scm | 28 ++++++++++++++-------------- > 1 file changed, 14 insertions(+), 14 deletions(-) Applied v2 as 810cc4764a27ddac3e15f325b02a4f665067f4ac with following change: --8<---------------cut here---------------start------------->8--- diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 3987a6e3dc..b4863698e5 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2078,18 +2078,21 @@ (define* (make-gitolite #:optional (extra-inputs '())) ;; invokes Perl. (substitute* (find-files ".") ((" perl -") - (string-append " " (search-input-file inputs "/bin/perl") " -"))) + (string-append + " " (search-input-file inputs "bin/perl") " -"))) (substitute* (find-files "src/triggers" ".*") ((" sed ") - (string-append " " (search-input-file inputs "/bin/sed") " "))) + (string-append + " " (search-input-file inputs "bin/sed") " "))) (substitute* '("src/triggers/post-compile/update-gitweb-access-list" "src/triggers/post-compile/ssh-authkeys-split" "src/triggers/upstream") ((" grep ") - (string-append " " (search-input-file inputs "/bin/grep") " "))) + (string-append + " " (search-input-file inputs "bin/grep") " "))) ;; Avoid references to the store in authorized_keys. ;; This works because gitolite-shell is in the PATH. @@ -2102,20 +2105,24 @@ (define* (make-gitolite #:optional (extra-inputs '())) ;; pubkey (substitute* "src/lib/Gitolite/Setup.pm" (("\"cat ") - (string-append "\"" (search-input-file inputs "/bin/cat") " ")) + (string-append + "\"" (search-input-file inputs "bin/cat") " ")) (("\"ssh-keygen") - (string-append "\"" (search-input-file inputs "/bin/ssh-keygen")))) + (string-append + "\"" (search-input-file inputs "bin/ssh-keygen")))) (substitute* '("src/lib/Gitolite/Hooks/PostUpdate.pm" "src/lib/Gitolite/Hooks/Update.pm") (("/usr/bin/perl") - (search-input-file inputs "/bin/perl"))) + (search-input-file inputs "bin/perl"))) (substitute* "src/lib/Gitolite/Common.pm" (("\"ssh-keygen") - (string-append "\"" (search-input-file inputs "/bin/ssh-keygen"))) + (string-append + "\"" (search-input-file inputs "bin/ssh-keygen"))) (("\"logger\"") - (string-append "\"" (search-input-file inputs "/bin/logger") "\""))) + (string-append + "\"" (search-input-file inputs "bin/logger") "\""))) (substitute* "src/lib/Gitolite/Cache.pm" (("/usr/sbin/redis-server") "redis-server")) @@ -2139,13 +2146,17 @@ (define* (make-gitolite #:optional (extra-inputs '())) (for-each (lambda (file-name) (wrap-program (string-append #$output file-name) `("PATH" ":" prefix - ,(map (lambda (dir) + ,(append + (map (lambda (command) + (dirname + (search-input-file + inputs + (string-append "bin/" command)))) + '("chmod" "find" "git")) + (map (lambda (dir) (string-append dir "/bin")) (list #$output - (assoc-ref inputs "coreutils") - (assoc-ref inputs "findutils") - (assoc-ref inputs "git") - #$@extra-inputs))))) + #$@extra-inputs)))))) '("/bin/gitolite" "/bin/gitolite-shell"))))))) (inputs (append (list bash-minimal coreutils findutils git inetutils openssh perl) --8<---------------cut here---------------end--------------->8--- Thanks
[Message part 3 (message/rfc822, inline)]
From: ashish.is <at> lostca.se To: guix-patches <at> gnu.org Cc: Ashish SHUKLA <ashish.is <at> lostca.se> Subject: [PATCH] gnu: make-gitolite: Fix inputs references Date: Mon, 2 Dec 2024 00:15:07 +0100From: Ashish SHUKLA <ashish.is <at> lostca.se> * gnu/packages/version-control.scm (make-gitolite)[arguments]<phases> {patch-scripts,patch-source,wrap-scripts}: Update functions to reference inputs from the inputs alist, instead of hardcoding. Change-Id: Ia2468235b43c257ee1816d19325671d373ed2870 --- Hi, When trying to override inputs of "gitolite", I noticed it's hardcoding them instead of referencing the "inputs" alist parameter which is passed to the phases, which makes overriding the inputs useless. This patches fixes that behaviour. Thanks! gnu/packages/version-control.scm | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index c54833a8ec..eac3487cf1 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2070,23 +2070,23 @@ (define* (make-gitolite #:optional (extra-inputs '())) (delete 'configure) (delete 'build) (add-before 'install 'patch-scripts - (lambda* _ + (lambda* (#:key inputs #:allow-other-keys) ;; This seems to take care of every shell script that ;; invokes Perl. (substitute* (find-files ".") ((" perl -") - (string-append " " #$perl "/bin/perl" " -"))) + (string-append " " (assoc-ref inputs "perl") "/bin/perl" " -"))) (substitute* (find-files "src/triggers" ".*") ((" sed ") - (string-append " " #$sed "/bin/sed" " "))) + (string-append " " (assoc-ref inputs "sed") "/bin/sed" " "))) (substitute* '("src/triggers/post-compile/update-gitweb-access-list" "src/triggers/post-compile/ssh-authkeys-split" "src/triggers/upstream") ((" grep ") - (string-append " " #$grep "/bin/grep" " "))) + (string-append " " (assoc-ref inputs "grep") "/bin/grep" " "))) ;; Avoid references to the store in authorized_keys. ;; This works because gitolite-shell is in the PATH. @@ -2094,25 +2094,25 @@ (define* (make-gitolite #:optional (extra-inputs '())) (("\\$glshell \\$user") "gitolite-shell $user")))) (add-before 'install 'patch-source - (lambda* _ + (lambda* (#:key inputs #:allow-other-keys) ;; Gitolite uses cat to test the readability of the ;; pubkey (substitute* "src/lib/Gitolite/Setup.pm" (("\"cat ") - (string-append "\"" #$coreutils "/bin/cat" " ")) + (string-append "\"" (assoc-ref inputs "coreutils") "/bin/cat" " ")) (("\"ssh-keygen") - (string-append "\"" #$openssh "/bin/ssh-keygen"))) + (string-append "\"" (assoc-ref inputs "openssh") "/bin/ssh-keygen"))) (substitute* '("src/lib/Gitolite/Hooks/PostUpdate.pm" "src/lib/Gitolite/Hooks/Update.pm") (("/usr/bin/perl") - (string-append #$perl "/bin/perl"))) + (string-append (assoc-ref inputs "perl") "/bin/perl"))) (substitute* "src/lib/Gitolite/Common.pm" (("\"ssh-keygen") - (string-append "\"" #$openssh "/bin/ssh-keygen")) + (string-append "\"" (assoc-ref inputs "openssh") "/bin/ssh-keygen")) (("\"logger\"") - (string-append "\"" #$inetutils "/bin/logger\""))) + (string-append "\"" (assoc-ref inputs "inetutils") "/bin/logger\""))) (substitute* "src/lib/Gitolite/Cache.pm" (("/usr/sbin/redis-server") "redis-server")) @@ -2132,16 +2132,16 @@ (define* (make-gitolite #:optional (extra-inputs '())) (string-append bindir "/" script))) '("gitolite" "gitolite-shell"))))) (add-after 'install 'wrap-scripts - (lambda* _ + (lambda* (#:key inputs #:allow-other-keys) (for-each (lambda (file-name) (wrap-program (string-append #$output file-name) `("PATH" ":" prefix ,(map (lambda (dir) (string-append dir "/bin")) (list #$output - #$coreutils - #$findutils - #$git + (assoc-ref inputs "coreutils") + (assoc-ref inputs "findutils") + (assoc-ref inputs "git") #$@extra-inputs))))) '("/bin/gitolite" "/bin/gitolite-shell"))))))) (inputs base-commit: 858dd7e721d69a6087375395037a86640418f1fb -- 2.47.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.