apk-mkndx(8) System Manager's Manual apk-mkndx(8) NAME apk mkndx - create apkv3 repository index file from packages SYNOPSIS apk mkndx [...] 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: o sha256 (default) o 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: o ${arch}/${name}-${version}.apk if referenced by repository base path URL o ${name}-${version}.apk if referenced by repository index file URL Currently supported substitution variables are: o name o version o arch o 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-12 apk-mkndx(8)