Mirror of CollapseOS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Virgil Dupras 359991c005 cfspack: fix compilation error 4 years ago
..
.gitignore tools/emul/shell: add filesystem support 5 years ago
Makefile cfspack: make into a library 4 years ago
README.md cfspack: allow multiple patterns and multiple paths in args 4 years ago
cfs.h cfspack: make into a library 4 years ago
cfspack.c cfspack: make into a library 4 years ago
cfsunpack.c tools/cfsunpack: new tool 5 years ago
libcfs.c cfspack: fix compilation error 4 years ago

README.md

cfspack

A tool/library to pack files into a CFS blob and unpack a CFS blob into a directory.

Usage

To pack a directory into a CFS blob, run:

cfspack /path/to/directory

The blob is spit to stdout. If there are subdirectories, they will be prefixes to the filenames under it.

cfspack takes optional -p pattern arguments. If specified, only files matching at least one of the patterns (“fnmatch” style”) will be included.

If path is a file, a CFS with a single file will be spit and its name will exclude the directory part of that filename.

The chain being spitted is always ended with a “stop block” (a zero-allocation block that stops the CFS chain). You can call cfspack with no argument to get only a stop block.

The program errors out if a file name is too long (> 26 bytes) or too big (> 0x10000 - 0x20 bytes).

To unpack a blob to a directory:

cfsunpack /path/to/dest < blob

If destination exists, files are created alongside existing ones. If a file to unpack already exists, it is overwritten.