cs makefile: refine handling of file permissions
On a second look, 6d06086dad
unnecessarily duplicates work already don
by `copy-file` in most cases. For the case where `copy-file` was not
used, there was code to explicitly set an executable bit, but the new
approach is better and should be used just there.
This commit is contained in:
parent
b6c5515efa
commit
b7908e97a1
|
@ -82,16 +82,10 @@
|
|||
(add-racket-section use-src-file dest-file #".rackboot"
|
||||
(lambda (pos)
|
||||
(values data 'any1 'any2))))
|
||||
(define (ensure-executable dest-file)
|
||||
(let* ([perms1 (file-or-directory-permissions dest-file 'bits)]
|
||||
[perms2 (bitwise-ior user-read-bit user-write-bit user-execute-bit
|
||||
perms1)])
|
||||
(unless (equal? perms1 perms2)
|
||||
(file-or-directory-permissions dest-file perms2))))
|
||||
(cond
|
||||
[start-pos
|
||||
;; Success as ELF
|
||||
(ensure-executable dest-file)
|
||||
(file-or-directory-permissions dest-file (file-or-directory-permissions use-src-file 'bits))
|
||||
(cond
|
||||
[expect-elf?
|
||||
;; Find ".rackboot" at run time:
|
||||
|
@ -101,7 +95,6 @@
|
|||
[else
|
||||
;; Not ELF; just append to the end
|
||||
(copy-file use-src-file dest-file #t)
|
||||
(ensure-executable dest-file)
|
||||
(define pos (file-size dest-file))
|
||||
(call-with-output-file*
|
||||
dest-file
|
||||
|
@ -134,6 +127,4 @@
|
|||
(copy-file (car alt) (cdr alt) #t)
|
||||
(write-offsets (cdr alt)))])
|
||||
|
||||
(file-or-directory-permissions dest-file (file-or-directory-permissions use-src-file 'bits))
|
||||
|
||||
(clean-src)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user