package tar-mirage
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=4e3594663a4ec93b046bd3bc546d1a81da1995f531f153138c6591084e25fbe3
sha512=81ec2fa08c3210eb1cf50be9483a9f9df9648ece34906c058d0a18c43236f138dde10bc190c11084e36dfdfe85b8ffa0e786c02930893e7bca18843770a37b0c
Description
tar is a simple library to read and write tar files with an emphasis on streaming. This library is functorised over external OS dependencies to facilitate embedding within MirageOS.
README
tar — decode and encode tar files
tar is a simple library to read and write tar files with an emphasis on streaming.
This is pure OCaml code, no C bindings.
Installation
tar
can be installed with opam
:
opam install tar
opam install tar-unix # for use in Unix/Lwt
opam install tar-mirage # for use in MirageOS
If you don't use opam
consult the tar.opam
file for build instructions.
Example toplevel session
In utop:
utop # #require "tar";;
utop # #require "tar-unix";;
utop # let f = Lwt_unix.openfile "/tmp/foo.tar" [ Unix.O_RDONLY ] 0;;
val f : Lwt_unix.file_descr = <abstr>
utop # Lwt.bind f Tar_lwt_unix.Archive.list;;
[{Tar.Header.file_name = "_build/lib/tar.mli.depends";
Tar.Header.file_mode = 420; Tar.Header.user_id = 1000;
Tar.Header.group_id = 1000; Tar.Header.file_size = 21L;
Tar.Header.mod_time = 1381080315L;
Tar.Header.link_indicator = Tar.Header.Link.Normal;
Tar.Header.link_name = ""};
{Tar.Header.file_name = "_build/lib/tar_unix.mli.depends";
Tar.Header.file_mode = 420; Tar.Header.user_id = 1000;
Tar.Header.group_id = 1000; Tar.Header.file_size = 27L;
Tar.Header.mod_time = 1381080318L;
Tar.Header.link_indicator = Tar.Header.Link.Normal;
Tar.Header.link_name = ""};
{Tar.Header.file_name = "_build/lib/tar.mllib";
Tar.Header.file_mode = ...; Tar.Header.user_id = ...;
Tar.Header.group_id = ...; Tar.Header.file_size = ...;
Tar.Header.mod_time = ...; Tar.Header.link_indicator = ...;
Tar.Header.link_name = ...};
...]
Compressed tarball
The distribution gives a small implementation to create a tarball, a compressed archive. The software allows to list the contents of a given tarball. The compression is done with decompress. You can look at the project documentation for more information on how to compress.
Alternatively, it is possible to use the Tar_gz
module which offers the same interface as Tar
with compression.
Example users
This library is used by
Documentation
The documentation and API reference is automatically generated by odoc
from the interfaces. It can be consulted online.
Dependencies (10)
-
tar
= version
- ptime
- optint
-
mirage-kv
>= "6.0.0"
-
mirage-clock
>= "4.0.0"
-
mirage-block
>= "2.0.0"
-
lwt
>= "5.6.0"
-
cstruct
>= "1.9.0"
-
ocaml
>= "4.08.0"
-
dune
>= "2.9"
Dev Dependencies (6)
-
odoc
with-doc
-
tar-unix
with-test & = version
-
alcotest-lwt
>= "1.7.0" & with-test
-
alcotest
>= "1.7.0" & with-test
-
mirage-clock-unix
with-test & >= "4.0.0"
-
mirage-block-unix
with-test & >= "2.13.0"
Used by
None
Conflicts (1)
-
result
< "1.5"