Skip to content

pmb/helpers/pmaports: ignore provides without ver

Oliver Smith requested to merge provides-fix into master

The APKBUILD reference for "provides" [1] is not worded clearly; but after reading it over and over again, my understanding is:

  • package with provides='foo=1.2' will be automatically installed if user requests installing "foo"
  • package with provides='foo' (without version) will NOT get automatically installed if user requests installing "foo"

For pmbootstrap, this means, that we must not attempt to build a package where the pkgname mentioned in provides matches what we are currently resolving, unless there is an equals sign in the provides entry.

Fixes: #1862 (closed), pmaports#404 (closed)

[1] https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#provides says:

List of package names (and optionally version info) this package provides.

If package with a version is provided (provides='foo=1.2') apk will consider it as an alternate name and it will automatically consider the package for installation by the alternate name, and conflict with other packages having the same name, or provides.

If version is not provided (provides='foo'), apk will consider it as virtual package name. Several package with same non-versioned provides can be installed simultaneously. However, none of them will be installed by default when requested by the virtual name - instead, error message is given and user is asked to choose which package providing the virtual name should be installed.

Merge request reports