Por que o pacote mercurial depende do x11-common em um ambiente chroot?

4

Em relação a uma pergunta anterior que fiz ( Faça com que o apt-get (ou aptitude) seja executado com -y, mas não solicite a substituição de arquivos de configuração? ) Eu me deparei com um comportamento um pouco peculiar e difícil de explicar. Talvez alguém possa explicar isso ainda.

Quando executo o seguinte logo após um debootstap dentro do destino chroot , o pacote mercurial parece exigir muito mais do que parece lógico:

apt-get -s -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install mercurial
Reading package lists...
Building dependency tree...
The following extra packages will be installed:
  ca-certificates fontconfig-config fonts-dejavu-core libdrm-intel1
  libdrm-nouveau2 libdrm-radeon1 libelf1 libfontconfig1 libfontenc1
  libfreetype6 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6
  libllvm3.4 libpciaccess0 libsm6 libtcl8.6 libtk8.6 libtxc-dxtn-s2tc0
  libutempter0 libx11-6 libx11-data libx11-xcb1 libxau6 libxaw7 libxcb-dri2-0
  libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb1
  libxcomposite1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxshmfence1
  libxss1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 mercurial-common
  openssl tcl tcl8.6 tk tk8.6 x11-common x11-utils xbitmaps xterm
Suggested packages:
  libglide3 qct vim emacs kdiff3 kdiff3-qt kompare meld tkcvs mgdiff
  python-mysqldb python-pygments python-openssl tcl-tclreadline mesa-utils
  xfonts-cyrillic
Recommended packages:
  wish
The following NEW packages will be installed:
  ca-certificates fontconfig-config fonts-dejavu-core libdrm-intel1
  libdrm-nouveau2 libdrm-radeon1 libelf1 libfontconfig1 libfontenc1
  libfreetype6 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6
  libllvm3.4 libpciaccess0 libsm6 libtcl8.6 libtk8.6 libtxc-dxtn-s2tc0
  libutempter0 libx11-6 libx11-data libx11-xcb1 libxau6 libxaw7 libxcb-dri2-0
  libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb1
  libxcomposite1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxshmfence1
  libxss1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 mercurial
  mercurial-common openssl tcl tcl8.6 tk tk8.6 x11-common x11-utils xbitmaps
  xterm
0 upgraded, 64 newly installed, 0 to remove and 3 not upgraded.

Olhando para a saída de apt-cache depends está além de mim porque apt-get decide que essas dependências precisam ser instaladas.

Como você pode ver, estou passando Dpkg opções conforme descrito na pergunta vinculada acima. A principal intenção por trás disso é impedir que apt-get e finalmente dpkg sejam solicitados durante o que deveria ser uma instalação automatizada.

No entanto, tentei executar o mesmo sem passar essas opções e o resultado é o mesmo.

    
por 0xC0000022L 01.05.2014 / 02:16

1 resposta

12

O pacote mercurial recomenda wish , que é um pacote virtual fornecido por tk . Este é o pacote que está puxando em todos os pacotes relacionados ao X que você vê sendo instalados como dependências no chroot.

O que você provavelmente quer fazer é instalar mercurial sem pacotes recomendados, adicionando a opção --no-install-recommends a apt-get . Veja esta resposta para mais informações sobre como evitar a instalação de dependências de pacotes recomendadas.

    
por Mike Miller 01.05.2014 / 02:29