Depende das dependências para determinar a causa dos pacotes conflitantes de DNF

0

Eu recentemente tentei atualizar alguns pacotes na minha máquina (fedora 27, x64), que dnf reclama está em conflito. No entanto, não consigo descobrir como obter dnf para me informar a causa do conflito. Esta questão relacionada diz que eu deveria usar --best para resolver o problema, mas isso ainda não me diz porque uma situação aparentemente não conflitante é considerada um conflito.

O TL; DR desta pergunta é: como obtenho o dnf para me dizer quais pacotes são conflitantes e quais são os dependentes associados?

O seguinte é o conflito:

$dnf update
Last metadata expiration check: 1:49:45 ago on Tue 27 Nov 2018 03:16:34 PM CET.
Dependencies resolved.

 Problem: problem with installed package i3status-2.12-1.fc27.x86_64
  - package i3status-2.12-1.fc27.x86_64 requires libconfuse.so.1()(64bit), but none of the providers can be installed
  - cannot install both libconfuse-3.2.2-1.fc27.x86_64 and libconfuse-3.2-3.fc27.x86_64
  - cannot install both libconfuse-3.2-3.fc27.x86_64 and libconfuse-3.2.2-1.fc27.x86_64
  - cannot install the best update candidate for package libconfuse-3.2-3.fc27.x86_64

Eu descobri (com dnf --deplist info ) que i3status-2.12-1.fc27.x86_64 depende de libconfuse-3.2-3.fc27.x86_64 :

  dependency: libconfuse.so.1()(64bit)
   provider: libconfuse-3.2-3.fc27.x86_64

No entanto, não posso, na minha vida, descobrir o que depende do antigo pacote libconfuse-3.2.2-1.fc27.x86_64 . Eu supus que dependências reversas de pacotes instalados seriam fáceis de pesquisar, mas a solução sugeriu aqui afirma que dnf repoquery --available --alldeps --source --whatrequires libconfuse-3.2.2-1.fc27.x86_64 deve fazer o truque; no entanto, a saída é:

Last metadata expiration check: 1:59:58 ago on Tue 27 Nov 2018 03:16:34 PM CET.
libconfuse-3.2.2-1.fc27.src.rpm

E desse rpm, não há dependências. Em outras palavras, o único pacote que requer isso é o próprio pacote, mas isso não acontece o tempo todo, então estou supondo que essa lista está incompleta. Cavando em dnf repoquery um pouco, achei que dnf repoquery --all --installed --whatrequires libconfuse deveria me dar a saída desejada. Isso diz:

i3status-0:2.12-1.fc27.x86_64

Qual é o pacote que foi originalmente listado como o pacote que eu quero atualizar, mas como já foi mencionado acima, isso depende de libconfuse.so.1()(64bit) fornecido por libconfuse-3.2-3.fc27.x86_64 . Em outras palavras, não deve haver conflito, de acordo com essa saída. O que estou perdendo aqui?

    
por Rens van der Heijden 27.11.2018 / 17:34

0 respostas