- bug fix: handle --dry-run and --dest-dir correctly.
This commit is contained in:
parent
7a5796b245
commit
2833c003d2
36
pkg-def.scm
36
pkg-def.scm
|
@ -10,7 +10,7 @@ exec scsh -le ~a/load.scm -o install-lib -e install-main -s "$0" "$@"
|
|||
END
|
||||
)
|
||||
|
||||
(define-package "install-lib" (1 2 0)
|
||||
(define-package "install-lib" (1 3 0)
|
||||
((options (bindir "Destination directory for executables" "<dir>" #t #f
|
||||
,(bin-dir) ,identity ,identity)))
|
||||
|
||||
|
@ -27,21 +27,25 @@ END
|
|||
(user)))
|
||||
|
||||
;; Install "program" part (scsh-install-pkg script).
|
||||
(let ((bindir (get-option-value 'bindir)))
|
||||
(if (or (get-option-value 'dry-run) (get-option-value 'verbose))
|
||||
(format #t "creating scsh-install-pkg script in ~a\n" bindir))
|
||||
(if (phase-active? 'install)
|
||||
(let ((bindir (string-append (get-option-value 'dest-dir)
|
||||
(get-option-value 'bindir))))
|
||||
(if (or (get-option-value 'dry-run) (get-option-value 'verbose))
|
||||
(format #t "creating scsh-install-pkg script in ~a\n" bindir))
|
||||
|
||||
(if (not (get-option-value 'dry-run))
|
||||
(let ((wrapper-name (absolute-file-name "scsh-install-pkg" bindir)))
|
||||
(if (not (get-option-value 'dry-run))
|
||||
(let ((wrapper-name (absolute-file-name "scsh-install-pkg" bindir)))
|
||||
|
||||
(with-errno-handler
|
||||
((errno packet)
|
||||
(else ((display-error-and-exit "cannot create wrapper script "
|
||||
wrapper-name ":\n "
|
||||
(first packet)))))
|
||||
(with-errno-handler
|
||||
((errno packet)
|
||||
(else ((display-error-and-exit "cannot create wrapper script "
|
||||
wrapper-name ":\n "
|
||||
(first packet)))))
|
||||
|
||||
(create-directory&parents bindir #o755)
|
||||
(call-with-output-file wrapper-name
|
||||
(lambda (port)
|
||||
(format port scsh-install-pkg-template (get-directory 'base #f))
|
||||
(set-file-mode port #o755))))))))
|
||||
(create-directory&parents bindir #o755)
|
||||
(call-with-output-file wrapper-name
|
||||
(lambda (port)
|
||||
(format port
|
||||
scsh-install-pkg-template
|
||||
(get-directory 'base #f))
|
||||
(set-file-mode port #o755)))))))))
|
||||
|
|
Loading…
Reference in New Issue