Add parameters to customize file attributes
This commit is contained in:
parent
1d302e6a47
commit
a63d9a7c1e
|
@ -1,6 +1,11 @@
|
||||||
;; Copyright 2019 Lassi Kortela
|
;; Copyright 2019 Lassi Kortela
|
||||||
;; SPDX-License-Identifier: ISC
|
;; SPDX-License-Identifier: ISC
|
||||||
|
|
||||||
|
(define tar-unix-time (make-parameter 0))
|
||||||
|
(define tar-unix-mode (make-parameter #o644))
|
||||||
|
(define tar-owner-name (make-parameter "root"))
|
||||||
|
(define tar-group-name (make-parameter "root"))
|
||||||
|
|
||||||
(define nulls (make-bytevector 512 0))
|
(define nulls (make-bytevector 512 0))
|
||||||
(define blank-checksum (make-bytevector 7 (char->integer #\space)))
|
(define blank-checksum (make-bytevector 7 (char->integer #\space)))
|
||||||
|
|
||||||
|
@ -34,19 +39,19 @@
|
||||||
(header-before-checksum
|
(header-before-checksum
|
||||||
(bytevector-append
|
(bytevector-append
|
||||||
(tar-string 100 fake-path)
|
(tar-string 100 fake-path)
|
||||||
(tar-octal 8 #o644)
|
(tar-octal 8 (tar-unix-mode))
|
||||||
(tar-octal 8 0)
|
(tar-octal 8 0)
|
||||||
(tar-octal 8 0)
|
(tar-octal 8 0)
|
||||||
(tar-octal 12 nbyte)
|
(tar-octal 12 nbyte)
|
||||||
(tar-octal 12 unix-time-now)))
|
(tar-octal 12 (tar-unix-time))))
|
||||||
(header-after-checksum
|
(header-after-checksum
|
||||||
(bytevector-append
|
(bytevector-append
|
||||||
(bytevector (char->integer #\space))
|
(bytevector (char->integer #\space))
|
||||||
(bytevector (char->integer #\0))
|
(bytevector (char->integer #\0))
|
||||||
(tar-string 100 "")
|
(tar-string 100 "")
|
||||||
(tar-string 8 "ustar ")
|
(tar-string 8 "ustar ")
|
||||||
(tar-string 32 "root")
|
(tar-string 32 (tar-owner-name))
|
||||||
(tar-string 32 "root")
|
(tar-string 32 (tar-group-name))
|
||||||
(make-bytevector 183 0)))
|
(make-bytevector 183 0)))
|
||||||
(checksum (tar-octal 7 (tar-checksum header-before-checksum
|
(checksum (tar-octal 7 (tar-checksum header-before-checksum
|
||||||
blank-checksum
|
blank-checksum
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
(define-library (trivial-tar-writer)
|
(define-library (trivial-tar-writer)
|
||||||
(export tar-write-file
|
(export tar-unix-time
|
||||||
|
tar-unix-mode
|
||||||
|
tar-owner-name
|
||||||
|
tar-group-name
|
||||||
|
tar-write-file
|
||||||
tar-write-end)
|
tar-write-end)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme char)
|
(scheme char)
|
||||||
|
|
Loading…
Reference in New Issue