开放构建服务:在构建期间访问互联网
Posted
技术标签:
【中文标题】开放构建服务:在构建期间访问互联网【英文标题】:Open Build Service: Access internet during built 【发布时间】:2015-11-18 18:22:14 【问题描述】:我想使用 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 安装脚本使用。
【问题讨论】:
【参考方案1】:大多数构建系统(OBS、Koji)在构建期间不允许访问互联网。这是有意支持可重现的构建。当你从网上下载一些比特时,没有人能保证这些比特明天会是一样的。
您必须自己下载 install.sh
并将其添加到您的包中。
【讨论】:
以上是关于开放构建服务:在构建期间访问互联网的主要内容,如果未能解决你的问题,请参考以下文章