如何使用 ppa 中的依赖项进行 pbuilder-dist 构建?

如何使用 ppa 中的依赖项进行 pbuilder-dist 构建?

我正在尝试为我的 ppa 构建一个使用来自其他两个 ppa 的包的包。我想使用 进行测试构建pbuilder-dist。我以前做过这个,我知道我需要以下组合:

  • OTHERMIRROR~/.pbuilderrc
  • --override-config,但我不确定什么时候将其添加到pbuilder-dist调用中
  • pbuilder-dist raring updatepbuilder-dist raring build <pkg>.dsc
  • 也许是其他东西?

有人能详细说明一下吗?我尝试了不同的组合,但似乎都没有效果。

我需要的两个 ppa 是ppa:gnome3-team/gnome3ppa:tkluck/gnome3。谢谢!

答案1

我使用的是具有增强配置的 pbuilder 而不是 pbuilder-dist,但步骤基本相同:

  1. 将您的额外源添加到OTHERMIRROR您的变量中~/.pbuilderrc

    OTHERMIRROR="deb http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu raring main|deb http://ppa.launchpad.net/tkluck/gnome3/ubuntu raring main"
    
  2. Chroot 进入你的 pbuilder 环境来添加存储库密钥(或者用这两个密钥创建一个本地密钥环并将其添加到APTKEYSTRINGS变量或添加你的本地/etc/apt/trusted.gpg密钥环):

    pbuilder-dist raring login --save-after-login
    apt-key adv --keyserver pgp.mit.edu --recv-keys 3B1510FD 568F2AD3
    exit
    

    (当然,您可以直接扩展您的 sources.list 并跳过步骤 1 和 3,但会pbuilder-dist update重置 sources.list。)

  3. 更新你的 pbuilder 环境(使用普通的 pbuilder 你必须添加--override-config):

    pbuilder-dist raring update --release-only
    

    注意:由于开发版本proposed默认启用了源。这是通过将proposed源传递给 pbuilder 的--othermirror命令行选项来实现的 - 这会覆盖配置文件值。因此您必须使用开关--release-only

  4. 构建你的包:

    pbuilder-dist raring build YOURPACKAGE.dsc
    

答案2

您还可以创建一个Dsomething文件来说明要添加的存储库。如果您HOOKDIR="${HOME}/.pbuilder-hooks/"的 中有~/.pbuilderrc,则可能存在一个名为的文件,$HOME/.pbuilder-hooks/D10addppa其内容如下:

#!/bin/sh

echo "deb deb http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu raring main" >> /etc/apt/sources.list
echo "deb http://ppa.launchpad.net/tkluck/gnome3/ubuntu raring main"  >> /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B1510FD 568F2AD3
apt-get update

该方法还可以保持 PPA 变化的时间性。

相关内容