bvaudour/kcp

'provides' dependency-check for pckcp

Closed this issue · 3 comments

Is it possible to enhance the way pckcp checks the dependencies to also include provided packages?

If I run pckcp on this PKGBUILD, I will get the following result:

Info:
  Header is clean.
Info (L.3):
  pkgrel is clean.
Info (L.5):
  arch is clean.
Warning (L.9):
  gcc-fortran isn't in repo neither in kcp. Variable 'makedepends' shouldn't contain it.
Warning (L.8):
  python2-distribute isn't in repo neither in kcp. Variable 'depends' shouldn't contain it.
Info (L.26-35):
  package() function is present.

gcc-fortran is provided by gcc. See povides-line with pacman -Si gcc. A search with pacman -Ss gcc-fortran gives as result gcc, and will be installed as dependency with pacman.
The same applies for pacman -Ss python2-distribute wich give python2-setuptools, because it provides it.

The provided packages are also included in the dependencies checking but only if they are on the whitelist.
Default values on the whitelist (as discussed with demm) are here: https://github.com/bvaudour/kcp/blob/master/etc/pckcp/exceptions

but you can modify your own list on /etc/pckcp/exceptions

Modifying the whitelist locally doesn't really solve the issue, especially if I want to test packages if they also build for other. Maybe extending the warning of pckcp to also pointing out that the package could also be a provided one, is feasible.

As you have said on other occasions before, kcp is not a package manager. (Through I personally think that KCP is already so big, it needs on.)

Since kcp 1.0.0 pckcp tries to parse the “provides” infos from official repos or KCP. But it is not perfect (sometimes bad parsering and version is ignored). For missing provides, you can can now edit an file name “exceptions” in ~/.config/kcp/ (best way is to copy it from /etc/kcp/exceptions) and add depends to ignore, one depend per line.