tar-mirage

Decode and encode tar files
README

tar-format is a simple library to read and write tar files with an emphasis on
streaming.

This is pure OCaml code, no C bindings.

Example toplevel session

In utop:

utop # #require "tar";;
utop # #require "tar.lwt";;

utop # lwt f = Lwt_unix.openfile "/tmp/foo.tar" [ Unix.O_RDONLY ] 0 ;;
val f : Lwt_unix.file_descr = <abstr> 

utop # Tar_lwt_unix.Archive.list f;;
[{Tar_lwt_unix.Header.file_name = "_build/lib/tar.mli.depends";
  Tar_lwt_unix.Header.file_mode = 420; Tar_lwt_unix.Header.user_id = 1000;
  Tar_lwt_unix.Header.group_id = 1000; Tar_lwt_unix.Header.file_size = 21L;
  Tar_lwt_unix.Header.mod_time = 1381080315L;
  Tar_lwt_unix.Header.link_indicator = Tar_lwt_unix.Header.Link.Normal;
  Tar_lwt_unix.Header.link_name = ""};
 {Tar_lwt_unix.Header.file_name = "_build/lib/tar_unix.mli.depends";
  Tar_lwt_unix.Header.file_mode = 420; Tar_lwt_unix.Header.user_id = 1000;
  Tar_lwt_unix.Header.group_id = 1000; Tar_lwt_unix.Header.file_size = 27L;
  Tar_lwt_unix.Header.mod_time = 1381080318L;
  Tar_lwt_unix.Header.link_indicator = Tar_lwt_unix.Header.Link.Normal;
  Tar_lwt_unix.Header.link_name = ""};
 {Tar_lwt_unix.Header.file_name = "_build/lib/tar.mllib";
  Tar_lwt_unix.Header.file_mode = ...; Tar_lwt_unix.Header.user_id = ...;
  Tar_lwt_unix.Header.group_id = ...; Tar_lwt_unix.Header.file_size = ...;
  Tar_lwt_unix.Header.mod_time = ...; Tar_lwt_unix.Header.link_indicator = ...;
  Tar_lwt_unix.Header.link_name = ...};
 ...]

Example users

This library is used by

  • xapi to read and write VM images

Installation

tar-format can be installed with opam:

opam install tar-format

If you don't use opam consult the opam file for build
instructions.

Documentation

The documentation and API reference is automatically generated by
ocamldoc from the interfaces. It can be consulted online.

Install
Published
28 Nov 2017
Maintainers
Sources
tar-0.9.0.tbz
md5=4524e7c290530d4243e0e9429fb3d224
Dependencies
ounit
with-test
io-page-unix
with-test
mirage-types-lwt
>= "3.0.0" & < "3.7.0"
mirage-block-unix
with-test & >= "2.5.0"
cstruct
>= "1.9.0"
tar
< "1.0.0"
jbuilder
>= "1.0+beta7"
ocaml
>= "4.04.2" & < "4.13"
Reverse Dependencies