From e39e8d97c17c7e7a008a4f4e125ae6b3844cc03a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 16 Oct 2020 14:32:50 +0200 Subject: gnu: runc, skopeo, docker-cli, umoci: Don't 'chdir' in build phases. This fixes breaks the 'install-license-files' phase added in 6b793fa66218337a1f638466753cd5326a6a6c18 and is generally not good practice. Reported by divoplade on #guix. * gnu/packages/virtualization.scm (runc)[arguments]: Use 'with-directory-excursion' instead of 'chdir' in build phases. (skopeo)[arguments]: Likewise. (umoci)[arguments]: Likewise. * gnu/packages/docker.scm (docker-cli)[arguments]: In 'install' phase, remove call to 'chdir' and adjust 'install-file' argument accordingly. --- gnu/packages/virtualization.scm | 45 ++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 21 deletions(-) (limited to 'gnu/packages/virtualization.scm') diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index f536616126..ac062dfa15 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1518,18 +1518,19 @@ (define-public runc "-xvf" source)))) (replace 'build (lambda* (#:key import-path #:allow-other-keys) - (chdir (string-append "src/" import-path)) - ;; XXX: requires 'go-md2man'. - ;; (invoke "make" "man") - (invoke "make"))) + (with-directory-excursion (string-append "src/" import-path) + ;; XXX: requires 'go-md2man'. + ;; (invoke "make" "man") + (invoke "make")))) ;; (replace 'check ;; (lambda _ ;; (invoke "make" "localunittest"))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "install" "install-bash" - (string-append "PREFIX=" out)))))))) + (lambda* (#:key import-path outputs #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "install" "install-bash" + (string-append "PREFIX=" out))))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -1573,14 +1574,15 @@ (define-public umoci "-xvf" source)))) (replace 'build (lambda* (#:key import-path #:allow-other-keys) - (chdir (string-append "src/" import-path)) - ;; TODO: build manpages with 'go-md2man'. - (invoke "make" "SHELL=bash"))) + (with-directory-excursion (string-append "src/" import-path) + ;; TODO: build manpages with 'go-md2man'. + (invoke "make" "SHELL=bash")))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key import-path outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bindir (string-append out "/bin"))) - (install-file "umoci" bindir) + (install-file (string-append "src/" import-path "/umoci") + bindir) #t)))))) (home-page "https://umo.ci/") (synopsis "Tool for modifying Open Container images") @@ -1617,19 +1619,20 @@ (define-public skopeo (arguments '(#:import-path "github.com/containers/skopeo" #:install-source? #f - #:tests? #f ; The tests require Docker + #:tests? #f ; The tests require Docker #:phases (modify-phases %standard-phases (replace 'build (lambda* (#:key import-path #:allow-other-keys) - (chdir (string-append "src/" import-path)) - ;; TODO: build manpages with 'go-md2man'. - (invoke "make" "bin/skopeo"))) + (with-directory-excursion (string-append "src/" import-path) + ;; TODO: build manpages with 'go-md2man'. + (invoke "make" "bin/skopeo")))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "install-binary" "install-completions" - (string-append "PREFIX=" out)))))))) + (lambda* (#:key import-path outputs #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "install-binary" "install-completions" + (string-append "PREFIX=" out))))))))) (home-page "https://github.com/containers/skopeo") (synopsis "Interact with container images and container image registries") (description -- cgit v1.2.3