PACK(5) File Formats Manual PACK(5)

NAME

packpack file format

DESCRIPTION

pack is the name given to compressed archives used by pm(1) to install softwares under a directory.

FILENAME

The pack name is used to extract informations about it content, and should follow a strict naming scheme: <name>@<version>.<ext>.
The regex used to match pack names is as follows (case sensitive):
([-_a-z0-9]*)@([-.a-zA-Z0-9]*).t(bz|gz|xz)
name used for packs should remain the original software name, unless it doesn't match the regex above. In this case, the name should be changed to fit the convention used.
Libraries pack names MUST be named "lib<name>". For example, the pack for "zlib" would be named "libz@<version>.<ext>".

ARCHIVE FORMAT

A pack is a compressed tar file containing all the files and sub directories meant to be extracted under the $ROOT directory (See pm(1)). Supported compression algorithms are gzip, bzip2, xz. For example:
bin/ 
bin/pm 
share/ 
share/man/ 
share/man/man1/ 
share/man/man1/pm.1 
share/man/man5/ 
share/man/man5/pack.5

USAGE

In order to create a pack suitable for use with pm(1), you can use external tools to first install your pack into a specific directory, change to this directory and archive its content. Files having a newline character ('0) in their name are not supported by pm(1). The typical workflow to create packs would be the following:
make 
make DESTDIR=/tmp/rootfs install 
cd /tmp/rootfs 
tar -c $(ls) | bzip2 > /tmp/pm@0.0.tbz
You can check the content of this pack with:
bzip2 -cd < /tmp/pm@0.0.tbz | tar -t

SEE ALSO

pm(1), tar(1), gzip(1), bzip2(1), xz(1),

AUTHORS

Willy Goiffon <willy@mailoo.org>
2016-01-13 POSIX.1-2008