Os pacotes perl(Net::Telnet)
são os chamados pacotes virtuais. Eles existem apenas no nome e são essencialmente um "alias" para o pacote real cujo nome é realmente perl-Net-Telnet
.
Esses pacotes passam a existir por meio de sua definição dentro do arquivo .spec
, conforme fornecido ou requerido. Você pode ver alguns aqui neste pacote, perl-Net-HTTP
:
$ more $HOME/rpmbuild/SPECS/perl-Net-HTTP.spec
...
BuildRequires: perl(IO::Socket::IP)
BuildRequires: perl(IO::Socket::SSL) >= 1.38
BuildRequires: perl(IO::Uncompress::Gunzip)
BuildRequires: perl(Symbol)
BuildRequires: perl(URI)
BuildRequires: perl(vars)
A vantagem de especificar os nomes de pacotes como este é que as dependências não precisam depender de números de versão específicos. Aqui uma dependência pode dizer: "Eu só preciso de qualquer versão antiga do X".
OBSERVAÇÃO: Esses nomes só funcionam quando um yum install 'perl(X)'
não funciona com yum search
ou yum info
, por exemplo. Se você der uma olhada na página yum
man, ela discutirá os nomes verdadeiros dos pacotes que funcionarão com todos os comandos do YUM na seção " ESPECIFICAÇÃO DOS NOMES DOS PACOTES ".
De que outra forma você sabe?
Se você tentar fazer uma instalação de um desses e ativar as mensagens detalhadas do yum
, você verá dicas:
$ sudo yum --verbose install "perl(Net::HTTP)"
Not loading "blacklist" plugin, as it is disabled
Loading "fastestmirror" plugin
Loading "langpacks" plugin
Loading "refresh-packagekit" plugin
Loading "tsflags" plugin
Not loading "whiteout" plugin, as it is disabled
Adding en_US to language list
Config time: 0.015
Adding en_US to language list
Yum version: 3.4.3
rpmdb time: 0.000
Setting up Package Sacks
Loading mirror speeds from cached hostfile
* fedora: mirror.nexcess.net
* rpmfusion-free: mirror.pw
* rpmfusion-free-updates: mirror.pw
* rpmfusion-nonfree: mirror.pw
* rpmfusion-nonfree-updates: mirror.pw
* updates: mirror.nexcess.net
pkgsack time: 0.043
Checking for virtual provide or file-provide for perl(Net::HTTP)
Obs Init time: 0.385
Package perl-Net-HTTP-6.06-4.fc20.noarch already installed and latest version
Nothing to do
Observe as menções de "virtual provide" e "file-provide"? Estes são o mecanismo de dependência em yum
procurando por pacotes que "fornecem" o que você especificou no nome, ou seja, perl(Net::HTTP)
, em outros pacotes que procuram correspondências.
Você também pode se apoiar no repoquery
para mostrar também esse relacionamento:
$ repoquery -a --whatprovides 'perl(Net::HTTP)'
perl-Net-HTTP-0:6.06-4.fc20.noarch