sbuild multiarch: aviso: não é possível analisar dependência libogg0: i386

1

uma pergunta sobre o multiarch.

No meu servidor de build rodando o Ubuntu 12.04.3 eu tento construir um pacote de um jogo com um executável i386 pré-compilado para o Ubuntu 13.10 (usando schroot ). sbuild falha, no entanto:

sbuild: warning: can't parse dependency libogg0:i386

Eu defini suporte multiarch como Pré-Dependências. o que estou fazendo errado aqui?

(versão sbuild: 0.62.6-1ubuntu2)

Este é o arquivo debian / control:

Source: rotc
Section: games
Priority: optional
Maintainer: Christoph Korn <[email protected]>
Pre-Depends: multiarch-support
Build-Depends: debhelper (>= 9),
               libogg0:i386,
               libtheora0:i386,
               libsdl1.2debian:i386,
               libxft2:i386,
               libc6:i386
Standards-Version: 3.9.4
Homepage: http://ethernet.wasted.ch

Package: rotc
Architecture: any
Depends: ${shlibs:Depends},
         ${misc:Depends},
         rotc-data (= ${source:Version})
Description: Fast-paced, team multiplayer FPS
 Revenge Of The Cats: Ethernet wants to be a fast-paced,
 teamwork-oriented, non-stop-action multiplayer PC FPS game that
 allows players to achieve a high degree of mastery.
 .
 Its main influences are Subspace/Continuum,
 Starsiege: Tribes and Tron.

Package: rotc-data
Architecture: all
Depends: ${misc:Depends}
Description: Fast-paced, team multiplayer FPS (data package)
 Revenge Of The Cats: Ethernet wants to be a fast-paced,
 teamwork-oriented, non-stop-action multiplayer PC FPS game that
 allows players to achieve a high degree of mastery.
 .
 Its main influences are Subspace/Continuum,
 Starsiege: Tribes and Tron.
 .
 (This package contains the data files)
    
por c_korn 13.10.2013 / 21:20

1 resposta

1

A especificação multiarch não permite dependências em arquiteturas estrangeiras específicas .

Basta compilar o pacote como um pacote _i386.deb normal com dependência libOGg0 simples. O Multiarch cuidará do resto.

Este pacote também pode ser feito em Multi-Arch: foreign caso outros pacotes queiram depender dele. É assim que o skype lida com ele:

Package: skype-bin
Architecture: i386
Multi-Arch: foreign
Depends: ${shlibs:Depends}, ${misc:Depends}, libssl1.0.0, libgl1-mesa-glx
Recommends: sni-qt, libasound2-plugins
Conflicts: skype-mid, skype-common
Breaks: skype (<< 4.1.0.20.0-0ubuntu0.12.04.1)
Replaces: skype-mid, skype-common, skype (<< 4.1.0.20.0-0ubuntu0.12.04.1)
Description: client for Skype VOIP and instant messaging service - binary files
 Skype is software that enables the world's conversations.  Millions of
 individuals and businesses use Skype to make free video and voice calls,
 send instant messages and share files with other Skype users.  Every day,
 people also use Skype to make low-cost calls to landlines and mobiles.
 .
  * Make free Skype-to-Skype calls to anyone else, anywhere in the world.
  * Call to landlines and mobiles at great rates.
  * Group chat with up to 200 people or conference call with up to 25 others.
  * Free to download.
 .
 This package contains the binary data.

Package: skype
Architecture: i386 amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, skype-bin
Description: client for Skype VOIP and instant messaging service
 Skype is software that enables the world's conversations.  Millions of
 individuals and businesses use Skype to make free video and voice calls,
 send instant messages and share files with other Skype users.  Every day,
 people also use Skype to make low-cost calls to landlines and mobiles.
 .
  * Make free Skype-to-Skype calls to anyone else, anywhere in the world.
  * Call to landlines and mobiles at great rates.
  * Group chat with up to 200 people or conference call with up to 25 others.
  * Free to download.

Então meu debian / control final se torna isso:

Package: rotc
Architecture: any
Depends: ${misc:Depends},
         rotc-bin (= ${source:Version})
Description: Fast-paced, team multiplayer FPS
 Revenge Of The Cats: Ethernet wants to be a fast-paced,
 teamwork-oriented, non-stop-action multiplayer PC FPS game that
 allows players to achieve a high degree of mastery.
 .
 Its main influences are Subspace/Continuum,
 Starsiege: Tribes and Tron.

Package: rotc-bin
Architecture: i386
Multi-Arch: foreign
Depends: ${shlibs:Depends},
         ${misc:Depends},
         rotc-data (= ${source:Version})
Description: Fast-paced, team multiplayer FPS (binary files).
 Revenge Of The Cats: Ethernet wants to be a fast-paced,
 teamwork-oriented, non-stop-action multiplayer PC FPS game that
 allows players to achieve a high degree of mastery.
 .
 Its main influences are Subspace/Continuum,
 Starsiege: Tribes and Tron.
 .
 (This package contains binary files).

Package: rotc-data
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
Description: Fast-paced, team multiplayer FPS (data package)
 Revenge Of The Cats: Ethernet wants to be a fast-paced,
 teamwork-oriented, non-stop-action multiplayer PC FPS game that
 allows players to achieve a high degree of mastery.
 .
 Its main influences are Subspace/Continuum,
 Starsiege: Tribes and Tron.
 .
 (This package contains the data files)
    
por c_korn 13.10.2013 / 23:35