Confusing provides in ca-certificate-utils / ca-certificates

Description:

I may be missing something here but:

  1. ca-certificates is an empty package depending on ca-certificates-mozilla
  2. ca-certficate-utils doesn't contain any certificates but has a provide for ca-certificates
  3. ca-certfificates-mozilla depends on ca-certificate-utils

It seems to me that point 2 is a bit fishy. I assume the reason ca-certificates-mozilla doesn't provide ca-certificates is to support the old conflicts with ca-certificates-cacert (though 2014? Not really relevant any more).

But why does ca-certficate-utils provide ca-certficates since it seems you need -mozilla and -utils for a functioning setup? If someone wants to use an alternative provider of ca-certificates (from AUR I presume) that package could just provide ca-certificates and depend on -utils?

Maybe there is a brilliant hack I'm missing here, maybe it is some legacy thing, or maybe it is buggy?

I came across this weirdness as I was writing a tool traversing the package graph of pacman, and thought I had a bug in my tool (but apparently not).

Additional info:

  • package version(s): ca-certificates-20240618-1, ca-certificates-mozilla-3.102-1
  • config and/or log files: N/A
  • link to upstream bug report, if any: N/A

Steps to reproduce:

  1. Step 1
  2. Step 2
  3. ...