An archiver which is like a tar alternative.
Find a file
Stephen Seo b256350fbc
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
Build for Releases / ensure-release-exists (push) Successful in 1s
Build for Releases / push-build-x86_64 (push) Successful in 8s
Build for Releases / push-build-aarch64 (push) Successful in 15s
Build for Releases / push-build-x86_64_debian (push) Successful in 33s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m0s
Version 1.6
2024-10-28 13:45:21 +09:00
.forgejo/workflows Add action/workflow to build/release tags 2024-10-08 12:56:05 +09:00
cosmopolitan Impl. basic functionality "MVP" 2024-07-16 16:16:58 +09:00
src Add option to preserve symlinks exactly 2024-10-24 16:37:55 +09:00
test_files Cleanup of example test files 2024-10-08 14:04:36 +09:00
.gitignore Impl. parser (TODO Fix invalid free crash) 2024-06-27 11:57:29 +09:00
Changelog.md Version 1.6 2024-10-28 13:45:21 +09:00
CMakeLists.txt Impl. pre-sort files by size before put in chunks 2024-10-08 15:12:44 +09:00
file_format.md Impl. safe-link checking for v1 file format 2024-10-21 17:12:48 +09:00
LICENSE Switch to ISC License 2024-08-30 11:36:11 +09:00
README.md Add option to preserve symlinks exactly 2024-10-24 16:37:55 +09:00

Simple Archiver

This program is not yet almost basically finished! Basic Necessary functionality is implemented and only some advanced features are missing some extra features are not yet implemented. You can track progress here.

This program exists because I could not get tar or ar to compile with Cosmopolitan. Thus, this archiver will be written with support for Cosmopolitan in mind. This means sticking to the C programming language and possibly using Cosmopolitan-specfic API calls.

Usage

Usage flags:
-c : create archive file
-x : extract archive file
-t : examine archive file
-f <filename> : filename to work on
  Use "-f -" to work on stdout when creating archive or stdin when reading archive
  NOTICE: "-f" is not affected by "-C"!
-C <dir> : Change current working directory before archiving/extracting
--compressor <full_compress_cmd> : requires --decompressor and cmd must use stdin/stdout
--decompressor <full_decompress_cmd> : requires --compressor and cmd must use stdin/stdout
  Specifying "--decompressor" when extracting overrides archive file's stored decompressor cmd
--overwrite-create : allows overwriting an archive file
--overwrite-extract : allows overwriting when extracting
--no-abs-symlink : do not store absolute paths for symlinks
--preserve-symlinks : preserve the symlink's path on archive creation instead of deriving abs/relative paths, ignores "--no-abs-symlink" (It is not recommended to use this option, as absolute-path-symlinks may be clobbered on extraction)
--no-safe-links : keep symlinks that link to outside archive contents
--temp-files-dir <dir> : where to store temporary files created when compressing (defaults to current working directory)
--write-version <version> : Force write version file format (default 1)
--chunk-min-size <bytes> : v1 file format minimum chunk size (default 4194304 or 4MiB)
--no-pre-sort-files : do NOT pre-sort files by size (by default enabled so that the first file is the largest)
-- : specifies remaining arguments are files to archive/extract
If creating archive file, remaining args specify files to archive.
If extracting archive file, remaining args specify files to extract.

Note that --compressor and --decompressor cmds must accept data from stdin and return processed data to stdout.

Changes

See the Changelog.

LICENSE Information

Uses the ISC License.