sbuild multiarch:警告:无法解析依赖项 libogg0:i386

sbuild multiarch:警告:无法解析依赖项 libogg0:i386

关于多架构的一个问题。

在运行 Ubuntu 12.04.3 的构建服务器上,我尝试为 ubuntu 13.10 (使用schroot) 构建一个带有预编译 i386 可执行文件的游戏包。sbuild但是失败了:

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

我已将多架构支持设置为预依赖项。我在这里做错了什么?

(sbuild版本:0​​.62.6-1ubuntu2)

这是 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)

答案1

多架构规范不允许依赖具体的外国建筑。

只需将该软件包构建为具有简单 libogg0 依赖项的普通 _i386.deb 软件包即可。Multiarch 将处理其余部分。

Multi-Arch: foreign如果其他包需要依赖它,也可以创建这个包。这是如何Skype处理它:

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.

所以我的最终 debian/control 变成了这样:

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)

相关内容