class

Bootstrap::TarWriter

Inherits Reference < Object

Write a .tar.gz file for putting the generated rootfs into a single file

Constants

CHECKSUM_LENGTH = 8
CHECKSUM_OFFSET = 148
GID_LENGTH = 8
GID_OFFSET = 116
HEADER_SIZE = 512

POSIX ustar header layout: offsets/lengths per POSIX.1-1988. Reference: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/tar.h.html

LINKNAME_LENGTH = 100
LINKNAME_OFFSET = 157
MAGIC_OFFSET = 257
MODE_LENGTH = 8
MODE_OFFSET = 100
MTIME_LENGTH = 12
MTIME_OFFSET = 136
NAME_LENGTH = 100
NAME_OFFSET = 0
SIZE_LENGTH = 12
SIZE_OFFSET = 124
TYPE_DIRECTORY = '5'
TYPE_FILE = '0'
TYPE_PAX = 'x'
TYPE_SYMLINK = '2'
TYPEFLAG_OFFSET = 156
UID_LENGTH = 8
UID_OFFSET = 108
VERSION_OFFSET = 263

Constructors

new(io : IO, sources : Array(Path), base_path : Path = "/")

Create a tar writer rooted at a source directory.

Source

Class methods

write_gz(sources : Array(Path), output : Path, base_path : Path = Path["/"])

Write a gzipped tarball for a directory tree.

Source

Instance methods

write_all

Write every entry in the source tree to the tar stream.

Source

Nested types