~ruther/guix-local

5a64a791317d98171435eff541a835ab0d3f498c — Marius Bakke 9 years ago 14551e0
utils: Add helper method to make files writable.

* gnu/build/activation.scm (make-file-writable): Move this to ...
* guix/build/utils.scm (make-file-writable): ... here. Export it.
* guix/build/gnu-build-system.scm (strip): Use it.
3 files changed, 10 insertions(+), 7 deletions(-)

M gnu/build/activation.scm
M guix/build/gnu-build-system.scm
M guix/build/utils.scm
M gnu/build/activation.scm => gnu/build/activation.scm +0 -5
@@ 78,11 78,6 @@
(define (dot-or-dot-dot? file)
  (member file '("." "..")))

(define (make-file-writable file)
  "Make FILE writable for its owner.."
  (let ((stat (lstat file)))                      ;XXX: symlinks
    (chmod file (logior #o600 (stat:perms stat)))))

(define* (copy-account-skeletons home
                                 #:optional (directory %skeleton-directory))
  "Copy the account skeletons from DIRECTORY to HOME."

M guix/build/gnu-build-system.scm => guix/build/gnu-build-system.scm +4 -2
@@ 392,8 392,10 @@ makefiles."
                (and (or (elf-file? file) (ar-file? file))
                     (or (not debug-output)
                         (make-debug-file file))
                     ;; Ensure libraries are writable.
                     (chmod file #o755)

                     ;; Ensure the file is writable.
                     (begin (make-file-writable file) #t)

                     (zero? (apply system* strip-command
                                   (append strip-flags (list file))))
                     (or (not debug-output)

M guix/build/utils.scm => guix/build/utils.scm +6 -0
@@ 50,6 50,7 @@
            with-directory-excursion
            mkdir-p
            install-file
            make-file-writable
            copy-recursively
            delete-file-recursively
            file-name-predicate


@@ 262,6 263,11 @@ name."
  (mkdir-p directory)
  (copy-file file (string-append directory "/" (basename file))))

(define (make-file-writable file)
  "Make FILE writable for its owner."
  (let ((stat (lstat file)))                      ;XXX: symlinks
    (chmod file (logior #o600 (stat:perms stat)))))

(define* (copy-recursively source destination
                           #:key
                           (log (current-output-port))