apt-rdepends não mostra informações multiarch

3

Estou usando apt-rdepends em um sistema amd64 com i386 como uma arquitetura externa. Mas parece que apt-rdepends perde as informações de arquitetura dos pacotes:

$ apt-rdepends libgcc1:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgcc1:i386
  Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1)
  Depends: libc6 (>= 2.2.4)
  PreDepends: multiarch-support
gcc-4.9-base
libc6
  Depends: libgcc1
libgcc1
  Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1)
  Depends: libc6 (>= 2.14)
  PreDepends: multiarch-support
multiarch-support
  Depends: libc6 (>= 2.3.6-2)

Enquanto apt-cache mostra a arquitetura correta, mas não pode recorrer:

$ apt-cache depends libgcc1:i386
libgcc1:i386
  Depends: gcc-4.9-base:i386
  Depends: libc6:i386
  PreDepends: multiarch-support:i386
    multiarch-support
  Breaks: <gcc-4.3>
  Breaks: <gcc-4.3:i386>
  Breaks: gcc-4.4
  Breaks: gcc-4.4:i386
  Breaks: <gcc-4.5>
  Breaks: <gcc-4.5:i386>
  Replaces: libgcc1
  Breaks: libgcc1

Alguma sugestão sobre como recursivamente recuperar dependências sem perder as informações de arquitetura?

    
por Hurzelchen 09.05.2017 / 10:12

2 respostas

2

Conforme postado no meu comentário, apt-cache depends tem a própria opção --recurse .

Desativando todas as outras relações de pacote do que Depends e PreDepends , recebo a saída de que preciso:

$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances
libc6:i386
  Depends: libgcc1:i386
libgcc1:i386
  Depends: gcc-4.9-base:i386
  Depends: libc6:i386
  PreDepends: multiarch-support:i386
    multiarch-support
gcc-4.9-base:i386
multiarch-support:i386
  Depends: libc6:i386
multiarch-support
  Depends: libc6
libc6
  Depends: libgcc1
libgcc1
  Depends: gcc-4.9-base
  Depends: libc6
  PreDepends: multiarch-support
    multiarch-support:i386
gcc-4.9-base
    
por 09.05.2017 / 15:46
2

Como você descobriu, a opção apt-cache depends ' --recurse fornece uma variante recursiva. Para que isso seja útil, você precisa desativar alguns tipos de dependência:

$ apt-cache depends --recurse --no-breaks --no-replaces --no-suggests libgcc1:i386

libgcc1:i386
  Depends: gcc-6-base:i386
  Depends: libc6:i386
gcc-6-base:i386
libc6:i386
  Depends: libgcc1:i386
  Replaces: libc6-i686:i386
    libc6:i386
libc6-i686:i386

apt-rdepends é órfão e não foi atualizado para oferecer suporte a multi-arch. (Eu diria que é improvável que seja nesse momento).

    
por 09.05.2017 / 11:55