package tar

  1. Overview
  2. Docs
Decode and encode tar format files in pure OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

tar-2.6.0.tbz
sha256=caff0cb7046343e2bff7fc0f9217e4e31235555e4c4889fb194792985b6fb1ee
sha512=61cedd25de48cfa8092b4e03e275139ff27aa36f3e24f936bc90e2974e3c52b2460db214b3f8480c6d45bbc59bf2232623dd840b4ce445077393a71e0d005903

CHANGES.md.html

v2.6.0 (2023-09-07)

  • Add eio backend for tar in tar-eio (@patricoferris, review by @talex5, @reynir, #132)

  • Also apply backwards compatibility fix when GNU LongName is used. The compatibility fix is unfortunately also applied for unknown-to-ocaml-tar link indicators (reported by @gravicappa in #129, @reynir, #133)

v2.5.1 (2023-06-20)

  • Treat headers with link indicator '0' or '\000' (Normal) as directories for backward compatibility (reported in #129, fix by @reynir)

v2.5.0 (2023-06-06)

  • File names and link names are used from PAX headers when parsing (reported by @gravicappa, fixed in #128 by @reynir)

v2.4.0 (2023-03-30)

  • Switch to alcotest for tests (@MisterDA, review by @reynir, #121)

  • BREAKING: fix ustar magic version. Previously, the version "0\000" was serialized instead of the correct version "00". This means tar archives may not be reproducable with older versions. (@reynir, @hannesm, #117 and #122)

  • Remove ppx_cstructdependency (@hannesm, review by @reynir, #117)

  • Properly skip Pax GlobalExtendedHeaders (@MisterDA, @reynir, #116 and #118)

v2.3.0 (2023-02-09)

  • tar-mirage: implement mirage-kv.6.0.0 (@reynir, @hannesm)

v2.2.2 (2022-12-12)

  • tar-mirage: fix writing of data when data+tar header is a multiple of sector_size greater than 1 (@reynir, review by @hannesm, #100)

v2.2.1 (2022-10-28)

  • tar-mirage: fix writing of data, previously the end_of_archive was set 512 bytes short (#99 @hannesm @reynir)

v2.2.0 (2022-10-19)

  • tar-mirage requires and implements mirage-kv.5.0.0 (@hannesm, #96)

  • tar-mirage implements Mirage_kv.RW (append-only) (@hannesm, @reynir, @dinosaure, review by @MisterDA, #93)

  • Update usage of cstruct in tar: unnecessary memsets removed, use Cstruct.of_string (@hannesm, #93)

  • Fix tar-mirage read buffer allocation error (@reynir, review by @hannesm, #94)

  • tar and tar-mirage do not require re anymore, tar-mirage doesn't depend on iopage and works with solo5 and other improvements (@hannesm, review by @reynir, #90)

v2.1.0 (2022-08-31)

  • tar-mirage requires mirage-block.2.0.0 (@kit-ty-kate, #86)

  • Remove io-page-unix dependency (@hannesm, #87)

  • Add GZip support (@dinosaure, #88)

v2.0.1 (2022-03-09)

  • Set O_CLOEXEC on opened files and be sure to close opened files (@MisterDA, @talex5, #83)

  • OCaml 5.00 support (add a new dependecy camlp-stream) (@Sudha247, #84)

  • Missing padding in LongLing 'L' case (@dra27, #82)

v2.0.0 (2021-09-23)

  • Bump lower-bound on Cstruct to 6.0.0 (@MisterDA, @djs55, @dinosaure, #74)

  • Update to Dune 2.9 and generate opam files (@MisterDA, @djs55, @dinosaure, #74)

  • Support only OCaml versions 4.08 and higher. (@MisterDA, @dinosaure, #77)

  • Don't print any logging to stdout or stderr (@MisterDA, @djs55, @dinosaure, #74)

  • Remove Tar.Make.Header, Tar_cstruct.Header, Tar_unix.Header, and Tar_lwt_unix.Header to keep only Tar.Header and use it everywhere.

    • Tar.Make.Header.get_next_header becomes Tar.Make.get_next_header;

    • Tar_cstruct.Header.get_next_header becomes Tar_cstruct.get_next_header;

    • Tar_lwt_unix.Header.get_next_header becomes Tar_lwt_unix.get_next_header;

    • Tar_lwt_unix.Header.of_file becomes Tar_lwt_unix.header_of_file;

    • Tar_unix.Header.get_next_header becomes Tar_unix.get_next_header;

    • Tar_unix.Header.of_file becomes Tar_unix.header_of_file;

    • All the Tar_*.Header.t values have to be changed to Tar.Header.t. (@MisterDA, @dinosaure, #77)

  • Fix parsing of pax Extended Header File Times with sub-second granularity. (@MisterDA, @dinosaure, #77)

  • Add Tar_unix.transform and Tar_lwt_unix.transform to help transforming headers of a streamed tar archive between two file descriptors. (@MisterDA, @dinosaure, #77)

  • Remove {build} tag on the dune dependency (@CraigFe, @hannesm, #72)

  • Adapt ocaml-tar to newer MirageOS interfaces (@hannesm, @dinosaure, #73)

  • Update gnu.org link (@reynir, @dinosaure, #79)

  • file_mode defaults to 0o400 (@reynir, @MisterDA, @dinosaure, #78)

v1.1.0 (2019-04-08)

  • Do not depend on mirage-types, use mirage-kv instead (@hannesm)

  • Support mirage-kv 2.0.0 (@hannesm)

  • Do not suppress "unused value" warning (@emillon)

  • Represent link indicator as a char. This transforms comments into actual code (@emillon)

v1.0.1 (2019-02-04)

  • fix tar-unix build with modern cstruct.lwt (@avsm)

v1.0.0 (2019-02-03)

  • port build to dune from builder (@avsm)

  • upgrade opam metadata to 2.0 (@avsm)

  • remove topkg in favour of dune-release (@avsm)

  • use modern ppx_cstruct instead of cstruct.ppx (#65 @avsm @djs55)

  • test with OCaml 4.07 as well (@avsm)

v0.9.0 (2017-11-25)

  • preliminary support for Cstruct.t-backed tar processing (#54 by @hcarty)

  • fix build with OCaml 4.06.0 (and -safe-string)

v0.8.0 (2017-05-09)

  • split into 3 packages: tar, tar-unix, tar-mirage

  • use jbuilder for building

  • add support for reading @LongLink headers

  • mark deprecated functions with @@ocaml.deprecated

  • fix some warnings

v0.7.1 (2017-02-03)

  • convert build system to topkg (#43, @hannesm)

v0.7.0 (2017-01-19)

  • Build against MirageOS version 3, and drop support for earlier versions.

  • Support only OCaml versions 4.03 and higher.

v0.6.1 (2016-09-30)

  • fix a bug in the key=value interface when the archive isn't a multiple of 4KiB in size

v0.6.0 (2016-09-19)

  • support for pax headers

  • removed Tar.Archive.fold: please use HeaderReader instead

v0.5.1 (2016-08-30)

  • handle EINTR and short writes properly (@ivg)

  • avoid a warning catching Failure exceptions from int_of_string

v0.5.0 (2016-04-24)

  • now requires cstruct >= 1.9.0 and OCaml 4.02+

v0.4.2 (2016-04-22)

  • test: only run tests if mirage-block-unix is present

  • improve the opam file

  • travis: simplify the configuration

v0.4.1 (2015-07-21)

  • fix Tar_mirage when using block devices with < 4096 byte sectors

v0.4.0 (2015-07-19)

  • add tar.mirage in ocamlfind, containing Tar_mirage which exposes a BLOCK device as a KV_RO

v0.3.0 (2015-04-06)

  • add Tar.Make functor which allows easier integration with camlzip

  • always initialise tar header unused bytes to 0 (previously would use uninitialised data)

  • modernise Travis CI scripts to use OPAM 1.2 workflow.

v0.2.1 (2013-11-15)

  • Re-add some old deprecated functions

v0.2.0 (2013-10-13)

  • Add 'Tar.Archive.fold' for folding over entries in an archive

v0.1.1 (2013-10-03)

  • Rename ocamlfind package from 'ocaml-tar' to simply 'tar'

v0.1.0 (2013-10-03)

  • Initial release

OCaml

Innovation. Community. Security.