std/archive

tar archives: Bytes.untarred reads what the tar programs in use write - POSIX ustar, pax (POSIX.1-2001) and GNU tar - and List.tarred writes ustar, with a pax header in front of an entry whose path or link does not fit ustar's fields. A package of the registry is a tar inside gzip (std/compression, docs/design/RELEASE.md section 7.2), and so is a release of the toolchain.

An entry is a regular file, a directory, a symbolic link or a hard link (TarKind), with the permission bits and the time of modification the archive gives it; a device and a pipe are refused. A path is kept as the archive writes it, ../x and /etc/x included: writing entries out is List.extract of std/archive/extract, which refuses every entry that would land outside of its directory.

The operations are members of the lists they work on, written where they are imported from: a member another package names is found in the module of the package that is imported, so use List.tarred, Buffer.untarred from "std/archive" needs them here.

Modules

Everything