Metadata information is stored as '.solv' files
These files have the following format:
V0 format
MAGIC: 'SOLV'
U32: 0
-- sizes --
U32: NUMID
U32: NUMREL
U32: NUMSOLV
-- string data --
U32: SIZEID
U8*: DICT (SIZE SIZEID)
-- reldep data --
U8*: RELDICT
-- source data --
U32: NUMSRCDATA
U8 : TYPE
ID : DATAID
ID | U32 | U8*
-- solvables --
U32: NUMSOLVDATA
U8 : TYPE
ID : DATAID
U32: NUM/SIZE
U8*: BITS
U8*: DATA
V6 format
=========
MAGIC: 'SOLV'
U32: 6
U32: NUMID
U32: NUMREL
U32: NUMDIR
U32: NUMITEM
U32: NUMKEYS
U32: NUMSCHEMATA
U32: NUMINFO
U32: FLAGS
4:PREFIX_POOL
-- string data --
ID: SIZEID
U8*: DICT (SIZE SIZEID)
-- reldep data --
U8*: RELDICT
-- directory data --
U8*: DIRDICT
-- key data --
NUMKEYS *
ID: name
ID: type
ID: expanded num/size
-- schemata data --
ID: expanded schemata size
NUMSCHEMATA *
IDARRAY* keys
-- file information --
ID maxinfolen (IF NUMINFO)
ID allinfolen (IF NUMINFO)
NUMINFO *
ID schema
U8 *data
-- item data --
ID maxitemlen (IF NUMITEM)
ID allitemlen (IF NUMITEM)
NUMITEM *
ID schema
U8* data
-- paged vertical data --
U32 pagesize
NPAGES *
U32 len * 2 + compressedflag
U8* data
key sizes for storage types: