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

Tim*_*uck 7 packaging 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。谢谢!

Las*_*all 14

我正在使用具有增强配置的 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"
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    pbuilder-dist raring update --release-only
    
    Run Code Online (Sandbox Code Playgroud)

    注意:由于 raring 开发版本已proposed默认启用源。这是通过将proposed源传递给 pbuilder 的--othermirror命令行选项来完成的 - 它会覆盖配置文件值。所以你必须使用--release-only开关。

  4. 构建你的包:

    pbuilder-dist raring build YOURPACKAGE.dsc
    
    Run Code Online (Sandbox Code Playgroud)


Jav*_*pez 5

您还可以创建一个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
Run Code Online (Sandbox Code Playgroud)

这种方法还可以保持 PPA 的时间变化。