openSUSE:构建服务概念 按需下载

跳转到:导航搜索

按需下载

按需下载(称为“DoD”)是一项便捷功能,可以更轻松地将现有存储库中的一组二进制软件包用作构建目标。

警告:设置完成后,现有的存储库必须完全静态。对 rpm 所做的更改将不会被 OBS 拾取。

OBS 中的按需下载功能

现在,用于从 DebRpmmd 树中按需下载软件包基础和元数据的代码已合并到 OBS 中,以便更轻松地定位预先存在的发行版。 这可以显著减少二进制存储库服务器上的本地存储需求。 例如,openSUSE 11.0 每个架构需要大约 16 GB 的软件包空间,其中约 8 GB 在所有架构之间共享,约 8 GB 是每个架构所需的特定架构软件包。 安装 Debian:Etch 用于 i586、x86_64、ppc 和 arm 可能会导致需要 40 GB 的磁盘空间,而已经共享 noarch 软件包。


设置

必须在后端服务器上启用 DoD,并且必须在后端上按项目配置。

要启用它,请编辑 BSConfig.pm 文件

RPM

Deb

如果您正在使用按需下载功能,则无需从 DVD 镜像获取完整的软件包。 在 Deb 元数据格式的情况下(由下载指令中的 mtype 字段指示),您为每个架构获取一个 Packges 文件,并将其放置在 :full 目录中

.....
# cd /srv/obs/build/Debian:Etch/standard/armv4l/:full
# wget -c -q ftp://ftp.de.debian.org/debian/dists/etch/main/binary-arm/Packages.bz2
# bunzip2 Packages.bz2
.....

用于 arm、i586、ppc 和 x86_64 的 Debian:Etch 发行版的项目描述现在包含以下字段

.....
  <download baseurl="http://ftp.de.debian.org/debian" metafile="Packages" mtype="debmd" arch="armv4l" />
  <download baseurl="http://ftp.de.debian.org/debian" metafile="Packages" mtype="debmd" arch="i586" />
  <download baseurl="http://ftp.de.debian.org/debian" metafile="Packages" mtype="debmd" arch="ppc" />
  <download baseurl="http://ftp.de.debian.org/debian" metafile="Packages" mtype="debmd" arch="x86_64" />
  <repository name="standard">
    <arch>armv4l<arch>
    <arch>i586<arch>
    <arch>ppc<arch>
    <arch>x86_64<arch>
  </repository>
.....