openmandriva/builderOpenMandriva Builder 镜像是一个在 ABF ([***] 构建节点上运行 mock 以构建 RPM 文件的 Docker 镜像。该镜像提供了标准化的构建环境,简化了 OpenMandriva 软件包的构建流程,支持多种架构和平台版本。
bashgit clone [***]
bashcd docker-builder sudo sh docker-brew-openmandriva/mkimage-dnf.sh --rootfs=/tmp/ --version=cooker --arch=x86_64 --with-builder
bashdocker run -ti --rm --privileged=true -h <yourname>.openmandriva.org \ -e BUILD_TOKEN="your_token" \ -e BUILD_ARCH="x86_64 armv7hl i586 i686 aarch64" \ -e BUILD_PLATFORM="cooker,4.0,rolling,rock" openmandriva/builder
| 环境变量 | 描述 | 示例 |
|---|---|---|
| BUILD_TOKEN | ABF 构建令牌,用于身份验证 | "your_token" |
| BUILD_ARCH | 指定构建架构,多个架构用空格分隔 | "x86_64 armv7hl" |
| BUILD_PLATFORM | 指定构建平台版本,多个平台用逗号分隔 | "cooker,4.0,rolling,rock" |
bashsudo dnf install qemu qemu-riscv64-static qemu-riscv64-static qemu-arm-static qemu-aarch64-static
bashsudo systemctl restart systemd-binfmt
bashdocker run -ti --rm --privileged=true -h <yourname>.openmandriva.org \ -e BUILD_TOKEN="your_token" \ -e BUILD_ARCH="riscv64" \ -e BUILD_PLATFORM="cooker,4.0,rolling,rock" openmandriva/builder
bashdocker rm -v $(docker ps -a -q -f status=exited)
警告:不建议在容器外运行此脚本
bashsudo dnf install -y mock git coreutils curl sudo rpmdevtools python-yaml
bashsudo echo "%mock ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers sudo usermod -a -G mock $USER sudo chown -R $USER:mock /etc/mock
bashPACKAGE=htop GIT_REPO=git://github.com/OpenMandrivaAssociation/htop.git \ USE_EXTRA_TESTS=true PLATFORM_ARCH=x86_64 PLATFORM_NAME=cooker \ UNAME=fdrt EMAIL=*** USE_MOCK_CACHE= EXTRA_CFG_OPTIONS= \ REPO_NAMES='cooker_main_release cooker_main_updates' \ REPO_URL='[***] \ [***]\ PROJECT_VERSION=master FILE_STORE_ADDR=[***] \ /usr/bin/python build-rpm.py


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务