Suponha que eu tenha instalado o pacote ongres-scram
no Fedora 40.
Então
$ rpm --query --requires ongres-scram
me dá uma lista de "tags de dependência" que são necessárias para ter este pacote instalado:
javapackages-filesystem
mvn(com.ongres.stringprep:saslprep)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1
rpmlib(RichDependencies) <= 4.12.0-1
Por outro lado
$ rpm --query --provides ongres-scram
me dá "tags de dependência" que são fornecidas pela instalação:
mvn(com.ongres.scram:common) = 2.1
mvn(com.ongres.scram:common:pom:) = 2.1
ongres-scram = 2.1-13.fc40
A tag de dependência javapackages-filesystem
é resolvida por um pacote correspondente:
$ rpm --query --whatprovides javapackages-filesystem
javapackages-filesystem-6.2.0-9.fc40.noarch
A tag de dependência mvn(foo)
certamente tem a ver com um processo de construção baseado no maven e pode ser resolvida:
$ rpm --query --whatprovides "mvn(com.ongres.stringprep:saslprep)"
ongres-stringprep-1.1-12.fc40.noarch
$ dnf provides "mvn(com.ongres.stringprep:saslprep)"
...
ongres-stringprep-1.1-12.fc40.noarch : RFC 3454 Preparation of Internationalized Strings in pure Java
...
Mas a tag de dependência rpmlib(foo)
não foi resolvida:
$ rpm --query --whatprovides "rpmlib(FileDigests)"
no package provides rpmlib(FileDigests)
$ dnf provides "rpmlib(FileDigests)"
Error: No matches found....
Pode ser que a tag represente um requisito no sistema para construir o pacote RPM. Mas o que a fornece?
Além disso, parece
rpmlib(FileDigests) <= 4.6.0-1
indica a necessidade de uma versão bem antiga já que a atual rpm
é 4.19.1.1?