Scroll to navigation

apk-mkndx(8) System Manager's Manual apk-mkndx(8)

NAME

apk mkndx - create apkv3 repository index file from packages

SYNOPSIS

apk mkndx [<options>...] packages...

DESCRIPTION

apk mkndx creates a repository index from a list of package files. See apk-repositories(5) for more information on repository indicies.

OPTIONS

--description, -d TEXT

Add a description to the index. Upstream, this is used to add version information based on the git commit SHA of aports HEAD at the time of index generation.

--filter-spec PKGNAME_SPEC

Filter previous index only. Each argument should be PKGNAME_SPEC formatted name of a package to include from the index. This can be used to create a subset of existing index.

--hash HASH

Use HASH as the algorithm for apk v3 integrity. Currently supported:
  • sha256 (default)
  • sha256-160

The sha256-160 is allowed to generate index compatible with old prereleases of apkv3 that do no handle longer hashes correctly.

--index, -x INDEX

Read an existing index from INDEX to speed up the creation of the new index by reusing data when possible.

--output, -o FILE

Output generated index to FILE.

--pkgname-spec PKGNAME_SPEC

Specify package name specification for downloading the packages. APK will construct the download URL relative to index file by expanding this specification with package specific values.

If the specification contains :// it is considered an absolute URL instead of relative. This is not recommended for public repositories as using absolute package name specification would prevent mirroring. However, this is useful in build environment to create a subset of an index and have it refer to packages in another repository.

If not specified, the default will be determined by apk at runtime based on how the repository is referenced:

  • ${arch}/${name}-${version}.apk if referenced by repository base path URL
  • ${name}-${version}.apk if referenced by repository index file URL

Currently supported substitution variables are:

  • name
  • version
  • arch
  • hash

Additionally a prefix of the variable can used with syntax: ${name:4}. This truncates the substition to maximum of 4 characters.

The specification writer should ensure that the repository does not contain multiple packages that would expand to same package filename.

2025-12-03