summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-16 14:32:50 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-16 15:00:50 +0200
commite39e8d97c17c7e7a008a4f4e125ae6b3844cc03a (patch)
tree2b7e1715bffc11e7dc7dc2b16e8c039dd43e0317 /gnu
parent9a4c83bdb61d046617e87ad9b4c0e1d6b55b1810 (diff)
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/virtualization.scm45
1 files changed, 24 insertions, 21 deletions
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 @@ monitor/GPU.")
"-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 @@ Open Container Initiative specification.")
"-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 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(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