Repository structure

What is an IPK package repository?

IPK package repositories are online sources for Listaller packages. These sources can be used to provide updates for installer applications, or to make Listaller-packaged applications available in the software management UIs of distributions.

Repositories can also be used to provide dependencies, to enhance the abilities for Listaller's dependency solver to satisfy a given dependency.

Directory overview

Repositories consist of a directory structure, containing the following directories:

  /                                                 - root
  |-- reposetting                                   - basic repository settings (MetaFile format)
  |-- contents_amd64.xz                             - contents of this repository (MetaFile format), arch-specific
  |-- contents_ix32.xz
  |-- [apps]
  |   |-- [pool]                                    - contains the package data
  |   |   |-- [appid1]                              - directory named like project's application-id (using AppItem appid)
  |   |   |   |-- changelog                         - software changelog
  |   |   |   |-- appid1-1.4_amd64.ipk              - IPK package to install
  |   |   |   |-- appid1-1.4_ix32.ipk
  |   |   |   |-- (?)appid1.doap                    - optional: application DOAP data (RDF)
  |   |   |   |-- [delta]                           - directory with package deltas
  |   |   |   |   |-- [amd64]                       - architecture dir
  |   |   |   |   |   |-- appid-1.0-to-1.4.deltaipk - deltaIPK packages
  |   |   |   |   |   |-- ...
  |   |   |   |   |-- [ix86]
  |   |   |   |   |-- [all]                         - data for all architectures
  |   |   |-- [appid2]
  |   |-- [meta]                                    - directory for metadata (icons/AppStream info)
  |-- [deps]
  |   |-- [feeds]                                   - contains the dependency feed files
  |   |-- [data]                                    - contains dependency-data (if necessary)
  |   |   |-- [ix32]
  |   |   |-- [amd64]
  |   |   |-- [all]

This directory structure can be placed on a server and referenced via an URL.

Listaller provides the lirepo command-line tool to generate new (local) Listaller repositories, and to update them with new software versions.