File List

Rationale

Listaller needs to know which files will be stored in which directory. Because it uses directory variables, which might change, these variables also need to be encoded in a file listing.

In IPK packages, SHA-1 checksums to detect file damages (e.g. if the filesystem is broken) or possible upgrade failures are also wanted. (The checksums might also be used for security reasons)

Basic structure

Listaller file lists can contain comments, which should be prefixed with a # sign. Every destination directory is defined using two colons: :: /directory/name. After defining a directory, the files which should be stored in that directory are listed.

File lists may also contain a SHA-1 checksum, added in a line after the checksumed file. The checksum option is usually only used in IPK packages.

File lists used to build an IPK package may contain wildcards. It is also possible to rename a file, by adding it's new name after the origin path. Relative paths are allowed.

Schema

This is the schema for a file list used in IPK packages:

# IPK file list for an application
# this is another comment

:: %INST%
foo-bar
da6d9a8f383f47798429db56c21c541d542fa656
test.dat1
40fabe138412c42edb9f323c16fd0ac8f1b48380
test2.dat
e99c30998ee4f48ee4b8e66f87d73ad3abe4274b
:: %INST%/data
data/file.xyz
7c34c388fcafc68b220f14555a0117cafcdab73e
:: /usr/bin
foobar
7db2fb25f7af8c7c92ba5f685a160a3104aacc78

This is the schema for a file list used for creating packages:

# IPK file list for FooBar

:: %APP%
FooBar.desktop
:: %INST%
foo-bar
*.html
*.txt
'data/file with whitespaces.txt'
'data/another-file with-space.txt' renamed.txt
:: %INST%/data
data/*
:: %ICON-32%
icons/32x32.png foobar.png
:: %ICON-64%
icons/64x64.png foobar.png