TODO:apk

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

TODO: apk

Documentation

  • Document current apk internals.
  • Define 'virtual', 'alternative', and their proper use.


Alternatives

Plugable Layouts

Manifests

apk manifest [-v] (<pkg>|<.apk>)...

Generate a manifest of files contained within the specified package(s)/apk(s).

Current default format is: sumfunc:checksum path

With verbose flag: pkgname: sumfunc:checksum path

Proposed canonical format: pkg:arch/pkgname-pkgver\tmode\tuser:group\tsize\ttimestamp\tsumfunc:checksum\tpath

TODO Items:

  • Define a canonical default manifest format which contains all available metadata in a reliably parsable format.
  • Add ability to specify manifest format and fields in a manner similar to 'stat'.
  • Add ability to select a subset of files to display in a manner similar to tar. (i.e. 'etc/' or 'lib/*.so')
  • Add ability to generate manifest from a filesystem directory structure or path list.
  • (DONE - kaniini) Add ability to generate manifest for .apk file in addition to installed packages.

.apk Generator

apk gen --key-file=... --control-dir=... --data-dir=...

Generates a well-formed .apk from a key file and two filesystem directories -- one for the control portion and one for the data portion.

TODO Items:

  • Document current WIP (kaniini).
  • Add ability to use an archive as the source for control or data directories.
  • Add ability to use a pre-generated manifest as the source file list and provider of package's file meta-data.

pax Archive Tool

apk archive list -f file.apk [pattern list...]

apk archive extract -f file.apk [pattern list...]

apk archive create -f file.apk [file list...]

apk archive append -f file.apk [file list...]

Low-level tools to manipulate .apk archives directly.

TODO Items:

  • Define proper applet and command names.
  • Determine appropriate flags.
  • Provide ability to supply include/exclude file/pattern list on STDIN, on the command line, or listed in external files.