1

a question regarding multiarch.

On my build server running Ubuntu 12.04.3 I try to build a package of a game with a precompiled i386 executable for ubuntu 13.10 (using a schroot). sbuild fails however:

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

I have set multiarch-support as Pre-Depends. what am I doing wrong here?

(sbuild version: 0.62.6-1ubuntu2)

This is the debian/control file:

Source: rotc
Section: games
Priority: optional
Maintainer: Christoph Korn <christoph.korn@getdeb.net>
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)

1 Answer 1

1

The multiarch spec does not permit dependencies on specific foreign architectures.

Just build the package as a normal _i386.deb package with plain libogg0 dependency. Multiarch will handle the rest.

This package also can be made Multi-Arch: foreign in case other packages want to depend on it. This is how skype handles it:

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.

So my final debian/control becomes this:

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)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.