UnitedLinux package disk usage information

Requirements

  1. Package
    The package identifier (name version revision architecture)
  2. Per directory touched by the package:

Implementation

In order to re-use existing code and infrastructure, the syntactic representation of the language file is similar to the packages file.

File encoding is ASCII.
File is line based.
Lines starting with '#' are ignored.

Header keywords

The disk usage file starts with a header defining the version.
KeywordValueComment
=Ver2.0The old (du.dir) format was 1.1, this one is 2.0

Package entry keywords

KeywordValueComment
=Pkgname version release architectureThese four values identify a package unambiguously and are used as a key
+Dir
-Dir
directory size_in_dir size_in_subdirs files_in_dir files_in_subdironly root dir starts with /, all other directories are relative to /
the size and file(count) values are integers, separated by whitespace.

Example

=Pkg: 3ddiag 0.494 16 i586
+Dir:
/ 0 71 0 17
sbin/ 0 2 0 1
sbin/conf.d/ 2 0 1 0
usr/ 0 68 0 15
usr/bin/ 50 0 14 0
usr/share/ 0 18 0 1
usr/share/doc/ 0 18 0 1
usr/share/doc/packages/ 0 18 0 1
usr/share/doc/packages/3ddiag/ 18 0 1 0
var/ 0 1 0 1
var/adm/ 0 1 0 1
var/adm/fillup-templates/ 1 0 1 0
-Dir: