build-system/gnu: Tolerate errors during the 'strip' phase.

This is a followup to commit 9a87649c86.

* guix/build/gnu-build-system.scm (strip)[strip-dir]: If an invoke error
occurs, issue a warning and continue to the next file.  This restores the
tolerance of stripping errors prior to commit 9a87649.
This commit is contained in:
Mark H Weaver 2018-03-16 18:33:52 -04:00
parent cbdfa50d9f
commit 99aaeaa00b
No known key found for this signature in database
GPG key ID: 7CEF29847562C516

View file

@ -27,6 +27,8 @@ (define-module (guix build gnu-build-system)
#:use-module (ice-9 format)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-26)
#:use-module (rnrs io ports)
#:export (%standard-phases
@ -437,17 +439,28 @@ (define (strip-dir dir)
(for-each (lambda (file)
(when (or (elf-file? file) (ar-file? file))
(when debug-output
(make-debug-file file))
;; If an error occurs while processing a file, issue a
;; warning and continue to the next file.
(guard (c ((invoke-error? c)
(format (current-error-port)
"warning: ~a: program ~s exited\
~@[ with non-zero exit status ~a~]\
~@[ terminated by signal ~a~]~%"
file
(invoke-error-program c)
(invoke-error-exit-status c)
(invoke-error-term-signal c))))
(when debug-output
(make-debug-file file))
;; Ensure the file is writable.
(make-file-writable file)
;; Ensure the file is writable.
(make-file-writable file)
(apply invoke strip-command
(append strip-flags (list file)))
(apply invoke strip-command
(append strip-flags (list file)))
(when debug-output
(add-debug-link file))))
(when debug-output
(add-debug-link file)))))
(find-files dir
(lambda (file stat)
;; Ignore symlinks such as: