Open Build Service:在构建期间访问互联网

Open Build Service: Access internet during built

我想使用 openSUSE 构建服务来构建 debian 软件包并提供了所需的文件:packageName_version.tar.gz、packageName.dsc、debian.changelog、debian.control、debian.rules.

对于构建,我使用 biicode,不幸的是它不在 debian/ubuntu 包存储库中。它可以使用 ppa 或他们提供下载的 bash 脚本来安装。为此,我在 debian.rules 中有以下规则:

biicode-install:
    wget http://apt.biicode.com/install.sh
    chmod +x install.sh
    ./install.sh
    rm install.sh
    echo "Installed biicode version: "$(bii --version)
    bii setup:cpp

biicode-setup: biicode-install
    # Init project
    bii init -l
    bii find

build: build-stamp
build-stamp: biicode-setup
    dh_testdir

    # Add here commands to compile the package.
    bii cpp:configure || bii cpp:configure
    bii cpp:build
    # --- end custom part for compiling

    touch build-stamp

但是,运行 osc 构建失败

[   62s]  debian/rules build
[   62s] wget http://apt.biicode.com/install.sh
[   62s] --2015-11-18 18:16:20--  http://apt.biicode.com/install.sh
[   62s] Resolving apt.biicode.com (apt.biicode.com)... failed: Name or service not known.
[   62s] wget: unable to resolve host address `apt.biicode.com'
[   62s] make: *** [biicode-install] Error 4
[   62s] dpkg-buildpackage: error: debian/rules build gave error exit status 2

我用许多预定义存储库(Debian_7.0、Debian_8.0、xUbuntu_15.10、...)对其进行了测试,但都遇到了同样的问题。我假设,用于构建的虚拟机没有互联网访问权限。有没有办法让它上网?

或者有没有办法将 ppa 依赖项安装到构建中?我无法在 debian.control 中使用 Build 或 Build-Depend,因为 biicode 不在默认存储库中,只能作为 ppa 或 bash 安装脚本使用。

大多数构建系统(OBS、Koji)不允许在构建期间访问互联网。这是有意支持可重现的构建。当你从疯狂的互联网上下载一些比特时,没有人能保证这些比特明天会是一样的。

您必须自己下载 install.sh 并将其添加到您的包中。